mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
Bump every GitHub Action in the repository to its latest major version, addressing the upcoming Node.js 20 deprecation. Several of the old versions (checkout v4, cache v4, setup-node v4, labeler v5) use the Node 20 runtime which GitHub is deprecating. The new versions use Node 22. - actions/checkout v4/v5 to v6 - actions/upload-artifact v4 to v7 - actions/download-artifact v4 to v8 - actions/cache, cache/restore, cache/save v4 to v5 - actions/setup-node v4 to v6 - actions/setup-python v5 to v6 - actions/github-script v7/v8 to v9 - actions/labeler v5 to v6 - peter-evans/find-comment v3 to v4 - dorny/paths-filter v3 to v4 - codecov/codecov-action v4 to v6 - docker/setup-buildx-action v3 to v4 - docker/build-push-action v6 to v7 - tj-actions/changed-files v46 to v47 Signed-off-by: Ramon Roche <mrpollo@gmail.com>
73 lines
1.9 KiB
YAML
73 lines
1.9 KiB
YAML
name: Ubuntu environment build
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'main'
|
|
- 'stable'
|
|
- 'beta'
|
|
- 'release/**'
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
pull_request:
|
|
branches:
|
|
- '**'
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
|
|
env:
|
|
RUNS_IN_DOCKER: true
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build_and_test:
|
|
name: Build and Test
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
version: ['ubuntu:22.04', 'ubuntu:24.04']
|
|
runs-on: [runs-on,runner=4cpu-linux-x64,"image=ubuntu24-full-x64","run-id=${{ github.run_id }}",spot=false,extras=s3-cache]
|
|
container:
|
|
image: ${{ matrix.version }}
|
|
volumes:
|
|
- /github/workspace:/github/workspace
|
|
steps:
|
|
- uses: runs-on/action@v2
|
|
|
|
- name: Fix git in container
|
|
run: |
|
|
# we only need this because we are running the job in a container
|
|
# when checkout pulls git it does it in a shared volume
|
|
# and file ownership changes between steps
|
|
# first we install git since its missing from the base image
|
|
# then we mark the directory as safe for other instances
|
|
# of git to use.
|
|
apt update && apt install git -y
|
|
git config --global --add safe.directory $(realpath .)
|
|
|
|
- uses: actions/checkout@v6
|
|
|
|
- name: Use AWS regional apt mirror
|
|
if: startsWith(runner.name, 'runs-on--')
|
|
run: ./Tools/ci/use_aws_apt_mirror.sh
|
|
|
|
- name: Install Deps
|
|
run: ./Tools/setup/ubuntu.sh
|
|
|
|
- uses: ./.github/actions/setup-ccache
|
|
id: ccache
|
|
with:
|
|
cache-key-prefix: ccache-ubuntu-${{ matrix.version }}
|
|
max-size: 200M
|
|
|
|
- name: Make Quick Check
|
|
run: make quick_check
|
|
|
|
- uses: ./.github/actions/save-ccache
|
|
if: always()
|
|
with:
|
|
cache-primary-key: ${{ steps.ccache.outputs.cache-primary-key }}
|