Build: Use Apple silicon images (#526)

- Use Apple silicon images
  o See https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source
 - Bump GH actions
  o Old ones based on Node 16 are deprecated
 - Merge Linux toolchain installation step
 - Use svenstaro/upload-release-action commit hash
 - Reuse env variables
This commit is contained in:
Zongle Wang 2024-04-01 05:47:17 +08:00 committed by GitHub
parent ab5aeec67a
commit ff7fd00788
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 35 additions and 45 deletions

View File

@ -13,11 +13,13 @@ env:
jobs:
analyze-shell-scripts:
name: Shell Scripts
runs-on: macos-latest
# See https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source
runs-on: macos-14
env:
JOB_TYPE: ANALYZE
HOMEBREW_NO_INSTALL_CLEANUP: 1
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# Due to brew adopting PEP 668 https://github.com/orgs/Homebrew/discussions/3404 pip installs should be in a Python venv
- name: Install Dependencies
@ -26,8 +28,6 @@ jobs:
python3 -m venv ~/pyenv
source ~/pyenv/bin/activate
python3 -m pip install pyyaml
env:
HOMEBREW_NO_INSTALL_CLEANUP: 1
- name: CI Bootstrap
run: |
@ -69,7 +69,7 @@ jobs:
env:
JOB_TYPE: ANALYZE
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
@ -81,7 +81,7 @@ jobs:
python3 -m prospector . -P ./profile.yml | tee prospector_result.txt || exit 1
- name: Upload prospector result to Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: Prospector Artifacts
@ -92,7 +92,7 @@ jobs:
runs-on: ubuntu-22.04
if: github.repository_owner == 'acidanthera' && github.ref_name == 'master'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
@ -110,7 +110,7 @@ jobs:
TOOLCHAINS: GCC
if: github.repository_owner == 'acidanthera' && github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install Dependencies
run: |

View File

@ -17,26 +17,22 @@ env:
jobs:
build-macos:
name: macOS XCODE5
runs-on: macos-13
# See https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source
runs-on: macos-14
env:
JOB_TYPE: BUILD
HOMEBREW_NO_INSTALL_CLEANUP: 1
HOMEBREW_NO_AUTO_UPDATE: 1
steps:
- uses: actions/checkout@v3
- name: Add Linux Toolchain
run: brew tap FiloSottile/homebrew-musl-cross
- uses: actions/checkout@v4
- name: Install Linux Toolchain
run: brew install musl-cross
env:
HOMEBREW_NO_INSTALL_CLEANUP: 1
HOMEBREW_NO_AUTO_UPDATE: 1
run: |
brew tap FiloSottile/homebrew-musl-cross
brew install musl-cross
- name: Install Dependencies
run: brew install openssl mingw-w64
env:
HOMEBREW_NO_INSTALL_CLEANUP: 1
HOMEBREW_NO_AUTO_UPDATE: 1
- name: CI Bootstrap
run: |
@ -46,13 +42,13 @@ jobs:
- run: ./build_oc.tool
- name: Upload to Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: macOS XCODE5 Artifacts
path: Binaries/*.zip
- name: Upload to Release
if: github.event_name == 'release'
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2.9.0
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: Binaries/*.zip
@ -62,24 +58,22 @@ jobs:
build-linux-clangpdb:
name: Linux CLANGPDB
runs-on: ubuntu-22.04
env:
TOOLCHAINS: CLANGPDB
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Use Docker in rootless mode.
uses: ScribeMD/rootless-docker@0.2.2
- name: ./build_duet.tool
run: docker compose run build-duet
env:
TOOLCHAINS: CLANGPDB
- name: ./build_oc.tool
run: docker compose run build-oc
env:
TOOLCHAINS: CLANGPDB
- name: Upload to Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: Linux CLANGPDB Artifacts
path: Binaries/*.zip
@ -87,24 +81,22 @@ jobs:
build-linux-gcc5:
name: Linux GCC
runs-on: ubuntu-22.04
env:
TOOLCHAINS: GCC
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Use Docker in rootless mode.
uses: ScribeMD/rootless-docker@0.2.2
- name: ./build_duet.tool
run: docker compose run build-duet
env:
TOOLCHAINS: GCC
- name: ./build_oc.tool
run: docker compose run build-oc
env:
TOOLCHAINS: GCC
- name: Upload to Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: Linux GCC Artifacts
path: Binaries/*.zip
@ -112,24 +104,22 @@ jobs:
build-linux-clangdwarf:
name: Linux CLANGDWARF
runs-on: ubuntu-22.04
env:
TOOLCHAINS: CLANGDWARF
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Use Docker in rootless mode.
uses: ScribeMD/rootless-docker@0.2.2
- name: ./build_duet.tool
run: docker compose run build-duet
env:
TOOLCHAINS: CLANGDWARF
- name: ./build_oc.tool
run: docker compose run build-oc
env:
TOOLCHAINS: CLANGDWARF
- name: Upload to Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: Linux CLANGDWARF Artifacts
path: Binaries/*.zip
@ -138,7 +128,7 @@ jobs:
name: Linux Docs
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Use Docker in rootless mode.
uses: ScribeMD/rootless-docker@0.2.2
@ -156,7 +146,7 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
@ -170,7 +160,7 @@ jobs:
- run: ./build_oc.tool
- name: Upload to Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: Windows Artifacts
path: Binaries/*.zip

View File

@ -15,7 +15,7 @@ jobs:
name: Check Codestyle
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
@ -32,7 +32,7 @@ jobs:
python3 -c "$(/usr/bin/curl https://raw.githubusercontent.com/acidanthera/ocbuild/master/uncstrap/uncstrap.py)" ./Uncrustify.yml || exit 1
- name: Upload to Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: Uncrustify Artifacts