diff --git a/.github/workflows/analyze.yml b/.github/workflows/analyze.yml index b0803664..d23aed96 100644 --- a/.github/workflows/analyze.yml +++ b/.github/workflows/analyze.yml @@ -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: | diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cda04bdf..53fb98ee 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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 diff --git a/.github/workflows/uncrustify.yml b/.github/workflows/uncrustify.yml index 01879c5b..f4b9c7ae 100644 --- a/.github/workflows/uncrustify.yml +++ b/.github/workflows/uncrustify.yml @@ -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