Skip to content

Ci optimize

Ci optimize #1445

Workflow file for this run

name: Continuous integration
on:
pull_request: # All
push:
branches:
- main
jobs:
hygiene-tests:
name: Repository hygiene
runs-on: ubuntu-latest
steps:
- name: Job information
run: |
echo "Job information"
echo "Trigger: ${{ github.event_name }}"
echo "Host: ${{ runner.os }}"
echo "Repository: ${{ github.repository }}"
echo "Branch: ${{ github.ref }}"
docker images
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Python lint
run: make python-lint
- name: Automated hygiene verification
run: make check-hygiene
- name: uss_qualifier documentation validation
run: make validate-uss-qualifier-docs
- name: Shell lint
run: make shell-lint
build-monitoring:
runs-on: ubuntu-latest
name: Build interuss/monitoring docker image
steps:
- name: Job information
run: |
echo "Job information"
echo "Trigger: ${{ github.event_name }}"
echo "Host: ${{ runner.os }}"
echo "Repository: ${{ github.repository }}"
echo "Branch: ${{ github.ref }}"
docker images
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Build and export interuss/monitoring docker image
run: |
cd monitoring
make image
docker save --output /tmp/monitoring-docker-image.tar interuss/monitoring
- name: Upload interuss/monitoring docker image as artifact
uses: actions/upload-artifact@v3
with:
name: monitoring-docker-image
path: /tmp/monitoring-docker-image.tar
mock_uss-test:
name: mock_uss tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: mock_uss
script: |
cd monitoring/mock_uss
make test
uss_qualifier-noop-test:
name: uss_qualifier configurations.dev.noop tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: uss_qualifier-noop-test
script: |
export CONFIG_NAME="configurations.dev.noop"
cd monitoring/uss_qualifier
make test
uss_qualifier-geoawareness_cis-test:
name: uss_qualifier configurations.dev.geoawareness_cis tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: uss_qualifier-geoawareness_cis-test
script: |
export CONFIG_NAME="configurations.dev.geoawareness_cis"
cd monitoring/uss_qualifier
make test
uss_qualifier-generate_rid_test_data-test:
name: uss_qualifier configurations.dev.generate_rid_test_data tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: uss_qualifier-generate_rid_test_data-test
script: |
export CONFIG_NAME="configurations.dev.generate_rid_test_data"
cd monitoring/uss_qualifier
make test
uss_qualifier-geospatial_comprehension-test:
name: uss_qualifier configurations.dev.geospatial_comprehension tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: uss_qualifier-geospatial_comprehension-test
script: |
export CONFIG_NAME="configurations.dev.geospatial_comprehension"
cd monitoring/uss_qualifier
make test
uss_qualifier-general_flight_auth-test:
name: uss_qualifier configurations.dev.general_flight_auth tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: uss_qualifier-general_flight_auth-test
script: |
export CONFIG_NAME="configurations.dev.general_flight_auth"
cd monitoring/uss_qualifier
make test
uss_qualifier-message_signing-test:
name: uss_qualifier configurations.dev.message_signing tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: uss_qualifier-message_signing-test
script: |
export CONFIG_NAME="configurations.dev.message_signing"
cd monitoring/uss_qualifier
make test
uss_qualifier-dss_probing-test:
name: uss_qualifier configurations.dev.dss_probing tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: uss_qualifier-dss_probing-test
script: |
export CONFIG_NAME="configurations.dev.dss_probing"
cd monitoring/uss_qualifier
make test
uss_qualifier-f3548_self_contained-test:
name: uss_qualifier configurations.dev.f3548_self_contained tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: uss_qualifier-f3548_self_contained-test
script: |
export CONFIG_NAME="configurations.dev.f3548_self_contained"
cd monitoring/uss_qualifier
make test
uss_qualifier-netrid_v22a-test:
name: uss_qualifier configurations.dev.netrid_v22a tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: uss_qualifier-netrid_v22a-test
script: |
export CONFIG_NAME="configurations.dev.netrid_v22a"
cd monitoring/uss_qualifier
make test
uss_qualifier-netrid_v19-test:
name: uss_qualifier configurations.dev.netrid_v19 tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: uss_qualifier-netrid_v19-test
script: |
export CONFIG_NAME="configurations.dev.netrid_v19"
cd monitoring/uss_qualifier
make test
uss_qualifier-uspace-test:
name: uss_qualifier configurations.dev.uspace tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: uss_qualifier-uspace-test
script: |
export CONFIG_NAME="configurations.dev.uspace"
cd monitoring/uss_qualifier
make test
prober-test:
name: prober tests
needs: build-monitoring
uses: ./.github/workflows/monitoring-test.yml
with:
name: prober
script: |
cd monitoring/prober
make test
publish-gh-pages:
name: Publish GitHub Pages
needs: [hygiene-tests, mock_uss-test, uss_qualifier-noop-test, uss_qualifier-geoawareness_cis-test, uss_qualifier-generate_rid_test_data-test, uss_qualifier-geospatial_comprehension-test, uss_qualifier-general_flight_auth-test, uss_qualifier-message_signing-test, uss_qualifier-dss_probing-test, uss_qualifier-f3548_self_contained-test, uss_qualifier-netrid_v22a-test, uss_qualifier-netrid_v19-test, uss_qualifier-uspace-test, prober-test]
if: ${{ always() && contains(join(needs.*.result, ','), 'success') }}
runs-on: ubuntu-latest
permissions:
contents: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
path: monitoring
- name: Get uss_qualifier reports
uses: actions/download-artifact@v3
with:
path: ./artifacts
- name: Make site content
run: ./monitoring/github_pages/make_site_content.sh
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
if: github.ref == 'refs/heads/main'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
enable_jekyll: true
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
commit_message: ${{ github.event.head_commit.message }}