Ci optimize #1445
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |