diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index b4608e2ee..3a7049d1f 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -7,518 +7,141 @@ on: jobs: - build-macOS-x86_64: - runs-on: macos-13 + build-debian-bookworm-arm64: + runs-on: ubuntu-latest steps: - - name: Check out repository code - uses: actions/checkout@v4 - - - name: Fix homebrew in Github Runner - run: | - for f in $(find /usr/local/bin -type l -print); do \ - (readlink $f | grep -q -s "/Library") && echo Removing "$f" && rm -f "$f"; \ - done || exit 0 - - - name: Install dependencies - run: | - brew update - brew install sdl2 mpg123 sdl2_ttf sdl2_image flac libmpeg2 libserialport portmidi enet dylibbundler - - - name: Install the Apple certificate - env: - APPLE_DEVID_CERT_BASE64: ${{ secrets.APPLE_DEVID_CERT_BASE64 }} - APPLE_DEVID_CERT_P12_PASSWORD: ${{ secrets.APPLE_DEVID_CERT_P12_PASSWORD }} - APPLE_KEYCHAIN_PASSWORD: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }} - run: | - # create variables - CERTIFICATE_PATH=$RUNNER_TEMP/apple_devid_cert.p12 - KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db - - # import certificate from secret - echo -n "$APPLE_DEVID_CERT_BASE64" | base64 --decode -o $CERTIFICATE_PATH - - # create keychain - security create-keychain -p $APPLE_KEYCHAIN_PASSWORD $KEYCHAIN_PATH - security set-keychain-settings -lut 21600 $KEYCHAIN_PATH - security unlock-keychain -p $APPLE_KEYCHAIN_PASSWORD $KEYCHAIN_PATH - - # import certificate to keychain - security import $CERTIFICATE_PATH -P $APPLE_DEVID_CERT_P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH - security set-key-partition-list -S apple-tool:,apple: -s -k $APPLE_KEYCHAIN_PASSWORD $KEYCHAIN_PATH - security list-keychains -d user -s $KEYCHAIN_PATH - - - name: Build for macOS X64 - run: | - cmake -B build && cmake --build build -j4 - - - name: Codesign the dylibs - run: | - for file in build/Amiberry.app/Contents/Frameworks/*.dylib; do - if [ -f "$file" ]; then - codesign -s "Developer ID Application: Dimitris Panokostas (5GQP72592A)" -f -o runtime,hard $file - fi - done - for file in build/Amiberry.app/Contents/Resources/plugins/*.dylib; do - if [ -f "$file" ]; then - codesign -s "Developer ID Application: Dimitris Panokostas (5GQP72592A)" -f -o runtime,hard $file - fi - done - - - name: Codesign the app - run: | - codesign -s "Developer ID Application: Dimitris Panokostas (5GQP72592A)" -f -o runtime,hard build/Amiberry.app - - - name: Create a zip to send to the notary service - run: | - zip -r Amiberry-${{ github.sha }}-macOS-x86_64.zip build/Amiberry.app - - - name: Send the file to be notarized by Apple - run: | - xcrun notarytool submit Amiberry-${{ github.sha }}-macOS-x86_64.zip --wait --apple-id "midwan@gmail.com" --password ${{ secrets.APPLE_NOTARY_APP_PASSWORD }} --team-id ${{ secrets.APPLE_TEAM_ID }} - - - name: Staple the notary receipt to the application bundle - run: | - xcrun stapler staple build/Amiberry.app - rm Amiberry-${{ github.sha }}-macOS-x86_64.zip - - - name: Create DMG package - run: | - cpack -G DragNDrop --config build/CPackConfig.cmake - - - name: ZIP package - if: github.ref_type != 'tag' - run: zip -r Amiberry-${{ github.sha }}-macOS-x86_64.zip Amiberry-*.dmg + - uses: actions/checkout@v4 - - name: ZIP package for release - if: github.ref_type == 'tag' - run: zip -r Amiberry-${{ github.ref_name }}-macOS-x86_64.zip Amiberry-*.dmg + - name: Run the build process with Docker + uses: addnab/docker-run-action@v3 + with: + image: midwan/amiberry-debian-aarch64:bookworm + options: -v ${{ github.workspace }}:/build + run: | + cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-aarch64-linux-gnu.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 + cpack -G DEB --config build/CPackConfig.cmake - name: Upload artifact + if: github.ref_type != 'tag' uses: actions/upload-artifact@v4 with: - name: amiberry-macOS-64bit-intel - path: Amiberry-*.zip - - build-macOS-Apple-Silicon: - runs-on: macos-latest - steps: - - name: Check out repository code - uses: actions/checkout@v4 - - - name: Install dependencies - run: | - brew update - brew upgrade - brew install sdl2 mpg123 sdl2_ttf sdl2_image flac libmpeg2 libserialport portmidi enet dylibbundler - - - name: Install the Apple certificate - env: - APPLE_DEVID_CERT_BASE64: ${{ secrets.APPLE_DEVID_CERT_BASE64 }} - APPLE_DEVID_CERT_P12_PASSWORD: ${{ secrets.APPLE_DEVID_CERT_P12_PASSWORD }} - APPLE_KEYCHAIN_PASSWORD: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }} - run: | - # create variables - CERTIFICATE_PATH=$RUNNER_TEMP/apple_devid_cert.p12 - KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db - - # import certificate from secret - echo -n "$APPLE_DEVID_CERT_BASE64" | base64 --decode -o $CERTIFICATE_PATH - - # create keychain - security create-keychain -p $APPLE_KEYCHAIN_PASSWORD $KEYCHAIN_PATH - security set-keychain-settings -lut 21600 $KEYCHAIN_PATH - security unlock-keychain -p $APPLE_KEYCHAIN_PASSWORD $KEYCHAIN_PATH - - # import certificate to keychain - security import $CERTIFICATE_PATH -P $APPLE_DEVID_CERT_P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH - security set-key-partition-list -S apple-tool:,apple: -s -k $APPLE_KEYCHAIN_PASSWORD $KEYCHAIN_PATH - security list-keychains -d user -s $KEYCHAIN_PATH - - - name: Build for macOS Apple Silicon - run: | - cmake -B build && cmake --build build -j4 - - - name: Codesign the dylibs - run: | - for file in build/Amiberry.app/Contents/Frameworks/*.dylib; do - if [ -f "$file" ]; then - codesign -s "Developer ID Application: Dimitris Panokostas (5GQP72592A)" -f -o runtime,hard $file - fi - done - for file in build/Amiberry.app/Contents/Resources/plugins/*.dylib; do - if [ -f "$file" ]; then - codesign -s "Developer ID Application: Dimitris Panokostas (5GQP72592A)" -f -o runtime,hard $file - fi - done - - - name: Codesign the app - run: | - codesign -s "Developer ID Application: Dimitris Panokostas (5GQP72592A)" -f -o runtime,hard build/Amiberry.app - - - name: Create a zip to send to the notary service - run: | - zip -r Amiberry-${{ github.sha }}-macOS-Apple-Silicon.zip build/Amiberry.app - - - name: Send the file to be notarized by Apple - run: | - xcrun notarytool submit Amiberry-${{ github.sha }}-macOS-Apple-Silicon.zip --wait --apple-id "midwan@gmail.com" --password ${{ secrets.APPLE_NOTARY_APP_PASSWORD }} --team-id ${{ secrets.APPLE_TEAM_ID }} - - - name: Staple the notary receipt to the application bundle - run: | - xcrun stapler staple build/Amiberry.app - rm Amiberry-${{ github.sha }}-macOS-Apple-Silicon.zip - - - name: Create DMG package - run: | - cpack -G DragNDrop --config build/CPackConfig.cmake - - - name: ZIP package - if: github.ref_type != 'tag' - run: zip -r Amiberry-${{ github.sha }}-macOS-apple-silicon.zip Amiberry-*.dmg + name: amiberry-lite-debian-bookworm-arm64 + path: amiberry-lite_*.deb - name: ZIP package for release if: github.ref_type == 'tag' - run: zip -r Amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip Amiberry-*.dmg + run: zip -r amiberry-lite-${{ github.ref_name }}-debian-bookworm-arm64.zip amiberry_*.deb - - name: Upload artifact + - name: Upload artifact for release + if: github.ref_type == 'tag' uses: actions/upload-artifact@v4 with: - name: amiberry-macOS-64bit-apple-silicon - path: Amiberry-*.zip + name: amiberry-lite-debian-bookworm-arm64 + path: amiberry-lite-*.zip - build-ubuntu-24-amd64: - runs-on: ubuntu-24.04 + build-debian-bookworm-armhf: + runs-on: ubuntu-latest steps: - - name: Check out repository code - uses: actions/checkout@v4 - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential cmake ninja-build libflac-dev libmpeg2-4-dev libpng-dev libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libasound2-dev libmpg123-dev libportmidi-dev libserialport-dev libenet-dev + - uses: actions/checkout@v4 - - name: make for Ubuntu 24.04 AMD64 - run: | - cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 - cpack -G DEB --config build/CPackConfig.cmake + - name: Run the build process with Docker + uses: addnab/docker-run-action@v3 + with: + image: midwan/amiberry-debian-armhf:bookworm + options: -v ${{ github.workspace }}:/build + run: | + cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-arm-linux-gnueabihf.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 + cpack -G DEB --config build/CPackConfig.cmake - name: Upload artifact if: github.ref_type != 'tag' uses: actions/upload-artifact@v4 with: - name: amiberry-ubuntu-24.04-amd64 - path: amiberry_*.deb + name: amiberry-lite-debian-bookworm-armhf + path: amiberry-lite_*.deb - name: ZIP package for release if: github.ref_type == 'tag' - run: zip -r amiberry-${{ github.ref_name }}-ubuntu-24.04-amd64.zip amiberry_*.deb + run: zip -r amiberry-lite-${{ github.ref_name }}-debian-bookworm-armhf.zip amiberry_*.deb - name: Upload artifact for release if: github.ref_type == 'tag' uses: actions/upload-artifact@v4 with: - name: amiberry-ubuntu-24.04-amd64 - path: amiberry-*.zip + name: amiberry-lite-debian-bookworm-armhf + path: amiberry-lite-*.zip - build-ubuntu-22-amd64: - runs-on: ubuntu-22.04 + build-debian-bullseye-arm64: + runs-on: ubuntu-latest steps: - - name: Check out repository code - uses: actions/checkout@v4 - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential cmake ninja-build libflac-dev libmpeg2-4-dev libpng-dev libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libasound2-dev libmpg123-dev libportmidi-dev libserialport-dev libenet-dev + - uses: actions/checkout@v4 - - name: make for Ubuntu 22.04 AMD64 - run: | - cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 - cpack -G DEB --config build/CPackConfig.cmake + - name: Run the build process with Docker + uses: addnab/docker-run-action@v3 + with: + image: midwan/amiberry-debian-aarch64:bullseye + options: -v ${{ github.workspace }}:/build + run: | + cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-aarch64-linux-gnu.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 + cpack -G DEB --config build/CPackConfig.cmake - name: Upload artifact if: github.ref_type != 'tag' uses: actions/upload-artifact@v4 with: - name: amiberry-ubuntu-22.04-amd64 - path: amiberry_*.deb + name: amiberry-lite-debian-bullseye-arm64 + path: amiberry-lite_*.deb - name: ZIP package for release if: github.ref_type == 'tag' - run: zip -r amiberry-${{ github.ref_name }}-ubuntu-22.04-amd64.zip amiberry_*.deb + run: zip -r amiberry-lite-${{ github.ref_name }}-debian-bullseye-arm64.zip amiberry_*.deb - name: Upload artifact for release if: github.ref_type == 'tag' uses: actions/upload-artifact@v4 with: - name: amiberry-ubuntu-22.04-amd64 - path: amiberry-*.zip + name: amiberry-lite-debian-bullseye-arm64 + path: amiberry-lite-*.zip - build-ubuntu-20-amd64: - runs-on: ubuntu-20.04 + build-debian-bullseye-armhf: + runs-on: ubuntu-latest steps: - - name: Check out repository code - uses: actions/checkout@v4 - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential cmake ninja-build libflac-dev libmpeg2-4-dev libpng-dev libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libasound2-dev libmpg123-dev libportmidi-dev libserialport-dev libenet-dev + - uses: actions/checkout@v4 - - name: make for Ubuntu 20.04 AMD64 - run: | - cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 - cpack -G DEB --config build/CPackConfig.cmake + - name: Run the build process with Docker + uses: addnab/docker-run-action@v3 + with: + image: midwan/amiberry-debian-armhf:bullseye + options: -v ${{ github.workspace }}:/build + run: | + cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-arm-linux-gnueabihf.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 + cpack -G DEB --config build/CPackConfig.cmake - name: Upload artifact if: github.ref_type != 'tag' uses: actions/upload-artifact@v4 with: - name: amiberry-ubuntu-20.04-amd64 - path: amiberry_*.deb + name: amiberry-lite-debian-bullseye-armhf + path: amiberry-lite_*.deb - name: ZIP package for release if: github.ref_type == 'tag' - run: zip -r amiberry-${{ github.ref_name }}-ubuntu-20.04-amd64.zip amiberry_*.deb + run: zip -r amiberry-lite-${{ github.ref_name }}-debian-bullseye-armhf.zip amiberry_*.deb - name: Upload artifact for release if: github.ref_type == 'tag' uses: actions/upload-artifact@v4 with: - name: amiberry-ubuntu-20.04-amd64 - path: amiberry-*.zip - - build-fedora-x86_64: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Run the build process with Docker - uses: addnab/docker-run-action@v3 - with: - image: midwan/amiberry-fedora-x86_64:latest - options: -v ${{ github.workspace }}:/build - run: | - cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 - cpack -G RPM --config build/CPackConfig.cmake - - - name: Upload artifact - if: github.ref_type != 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-fedora-x86_64 - path: amiberry-*.rpm - - - name: ZIP package for release - if: github.ref_type == 'tag' - run: zip -r amiberry-${{ github.ref_name }}-fedora-x86_64.zip amiberry-*.rpm - - - name: Upload artifact for release - if: github.ref_type == 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-fedora-x86_64 - path: amiberry-*.zip - - build-debian-bullseye-amd64: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Run the build process with Docker - uses: addnab/docker-run-action@v3 - with: - image: midwan/amiberry-debian-x86_64:bullseye - options: -v ${{ github.workspace }}:/build - run: | - cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 - cpack -G DEB --config build/CPackConfig.cmake - - - name: Upload artifact - if: github.ref_type != 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bullseye-amd64 - path: amiberry_*.deb - - - name: ZIP package for release - if: github.ref_type == 'tag' - run: zip -r amiberry-${{ github.ref_name }}-debian-bullseye-amd64.zip amiberry_*.deb - - - name: Upload artifact for release - if: github.ref_type == 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bullseye-amd64 - path: amiberry-*.zip - - build-debian-bookworm-amd64: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Run the build process with Docker - uses: addnab/docker-run-action@v3 - with: - image: midwan/amiberry-debian-x86_64:bookworm - options: -v ${{ github.workspace }}:/build - run: | - cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 - cpack -G DEB --config build/CPackConfig.cmake - - - name: Upload artifact - if: github.ref_type != 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bookworm-amd64 - path: amiberry_*.deb - - - name: ZIP package for release - if: github.ref_type == 'tag' - run: zip -r amiberry-${{ github.ref_name }}-debian-bookworm-amd64.zip amiberry_*.deb - - - name: Upload artifact for release - if: github.ref_type == 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bookworm-amd64 - path: amiberry-*.zip - - build-debian-bookworm-arm64: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Run the build process with Docker - uses: addnab/docker-run-action@v3 - with: - image: midwan/amiberry-debian-aarch64:bookworm - options: -v ${{ github.workspace }}:/build - run: | - cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-aarch64-linux-gnu.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 - cpack -G DEB --config build/CPackConfig.cmake - - - name: Upload artifact - if: github.ref_type != 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bookworm-arm64 - path: amiberry_*.deb - - - name: ZIP package for release - if: github.ref_type == 'tag' - run: zip -r amiberry-${{ github.ref_name }}-debian-bookworm-arm64.zip amiberry_*.deb - - - name: Upload artifact for release - if: github.ref_type == 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bookworm-arm64 - path: amiberry-*.zip - - build-debian-bookworm-armhf: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Run the build process with Docker - uses: addnab/docker-run-action@v3 - with: - image: midwan/amiberry-debian-armhf:bookworm - options: -v ${{ github.workspace }}:/build - run: | - cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-arm-linux-gnueabihf.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 - cpack -G DEB --config build/CPackConfig.cmake - - - name: Upload artifact - if: github.ref_type != 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bookworm-armhf - path: amiberry_*.deb - - - name: ZIP package for release - if: github.ref_type == 'tag' - run: zip -r amiberry-${{ github.ref_name }}-debian-bookworm-armhf.zip amiberry_*.deb - - - name: Upload artifact for release - if: github.ref_type == 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bookworm-armhf - path: amiberry-*.zip - - build-debian-bullseye-arm64: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Run the build process with Docker - uses: addnab/docker-run-action@v3 - with: - image: midwan/amiberry-debian-aarch64:bullseye - options: -v ${{ github.workspace }}:/build - run: | - cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-aarch64-linux-gnu.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 - cpack -G DEB --config build/CPackConfig.cmake - - - name: Upload artifact - if: github.ref_type != 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bullseye-arm64 - path: amiberry_*.deb - - - name: ZIP package for release - if: github.ref_type == 'tag' - run: zip -r amiberry-${{ github.ref_name }}-debian-bullseye-arm64.zip amiberry_*.deb - - - name: Upload artifact for release - if: github.ref_type == 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bullseye-arm64 - path: amiberry-*.zip - - build-debian-bullseye-armhf: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Run the build process with Docker - uses: addnab/docker-run-action@v3 - with: - image: midwan/amiberry-debian-armhf:bullseye - options: -v ${{ github.workspace }}:/build - run: | - cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-arm-linux-gnueabihf.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4 - cpack -G DEB --config build/CPackConfig.cmake - - - name: Upload artifact - if: github.ref_type != 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bullseye-armhf - path: amiberry_*.deb - - - name: ZIP package for release - if: github.ref_type == 'tag' - run: zip -r amiberry-${{ github.ref_name }}-debian-bullseye-armhf.zip amiberry_*.deb - - - name: Upload artifact for release - if: github.ref_type == 'tag' - uses: actions/upload-artifact@v4 - with: - name: amiberry-debian-bullseye-armhf - path: amiberry-*.zip + name: amiberry-lite-debian-bullseye-armhf + path: amiberry-lite-*.zip create-release: - needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-fedora-x86_64, build-ubuntu-24-amd64, build-ubuntu-22-amd64, build-ubuntu-20-amd64, build-debian-bookworm-amd64, build-debian-bookworm-arm64, build-debian-bookworm-armhf, build-debian-bullseye-amd64, build-debian-bullseye-arm64, build-debian-bullseye-armhf] + needs: [build-debian-bookworm-arm64, build-debian-bookworm-armhf, build-debian-bullseye-arm64, build-debian-bullseye-armhf] runs-on: ubuntu-latest if: github.ref_type == 'tag' && startsWith(github.ref_name, 'v') steps: - uses: actions/checkout@v4 - + - name: Create Changelog if: github.ref_type == 'tag' id: changelog @@ -548,7 +171,7 @@ jobs: artifacts/Amiberry-*.* create-prerelease: - needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-fedora-x86_64, build-ubuntu-24-amd64, build-ubuntu-22-amd64, build-ubuntu-20-amd64,build-debian-bookworm-amd64, build-debian-bookworm-arm64, build-debian-bookworm-armhf, build-debian-bullseye-amd64, build-debian-bullseye-arm64, build-debian-bullseye-armhf] + needs: [build-debian-bookworm-arm64, build-debian-bookworm-armhf, build-debian-bullseye-arm64, build-debian-bullseye-armhf] runs-on: ubuntu-latest if: github.ref_type == 'tag' && startsWith(github.ref_name, 'preview-v') steps: @@ -581,4 +204,4 @@ jobs: body: ${{ steps.changelog.outputs.changes }} artifacts: | artifacts/amiberry-*.* - artifacts/Amiberry-*.* + artifacts/Amiberry-*.* \ No newline at end of file