This repository was archived by the owner on Sep 24, 2025. It is now read-only.
Update commandline arguments for readmode and add audiomode #33
Workflow file for this run
This file contains hidden or 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: USBSID-Pico Snapshot Build | |
| env: | |
| SOURCE_REPO: LouDnl/USBSID-Pico-driver | |
| AUTOMATIC_MONITOR: true | |
| FILES: "README.md LICENSE USBSID* vice-makefile/Makefile.am" # seperate multiple entries with , | |
| THE_SERVER: ${{ github.server_url }} | |
| PATH_SOURCE_CHECKOUT: temp_folder | |
| PATH_ARTIFACTS: dist | |
| on: | |
| push: | |
| tags: | |
| - '*' | |
| # - 'r[0-9]+' # any tag name that looks like an svn commit | |
| workflow_dispatch: | |
| concurrency: | |
| group: USBSID-Pico Snapshot Build | |
| cancel-in-progress: true | |
| # pull-file credits: https://github.com/orgs/community/discussions/53762#discussioncomment-5768135 | |
| jobs: | |
| cleanup_previous_builds: # Delete unfinished draft prereleases, and prereleases older than 30 days (but keep at least 10) | |
| name: Cleanup Previous Builds | |
| if: ${{ !github.event.act }} # skip during local actions testing | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/github-script@v7 | |
| with: | |
| github-token: ${{secrets.GITHUB_TOKEN}} | |
| retries: 3 | |
| script: | | |
| // Get a list of all releases, sorted newest first | |
| let releases = | |
| (await github.paginate( | |
| github.rest.repos.listReleases, | |
| { | |
| owner: context.repo.owner, | |
| repo: context.repo.repo | |
| })) | |
| .sort((a,b) => b.created_at.localeCompare(a.created_at)); | |
| let releaseCount = 0; | |
| let releasesToDelete = []; | |
| // Initiate deletion of draft prereleases | |
| for (const release of releases) | |
| { | |
| // Only cleanup prereleases | |
| if (!release.prerelease) | |
| continue; | |
| // Failed builds leave drafts - delete them | |
| if (release.draft) | |
| { | |
| console.log("Will delete draft prerelease: " + release.tag_name); | |
| releasesToDelete.push(release.id); | |
| continue; | |
| } | |
| // Keep at least 10, no matter how old | |
| if (++releaseCount <= 10) | |
| continue; | |
| // We have more than 10 releases - delete those more than 30 days old | |
| let daysAgo = Math.floor((new Date() - Date.parse(release.created_at)) / 1000 / 60 / 60 / 24); | |
| if (daysAgo <= 30) | |
| continue; | |
| console.log("Will delete old prerelease: " + release.tag_name); | |
| releasesToDelete.push(release.id); | |
| } | |
| if (releasesToDelete.length) | |
| { | |
| let promises = []; | |
| for (const id of releasesToDelete) | |
| { | |
| promises.push( | |
| github.rest.repos.deleteRelease( | |
| { | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| release_id: id | |
| })); | |
| } | |
| console.log("Waiting for deletions to complete"); | |
| await Promise.all(promises); | |
| } | |
| console.log("Done."); | |
| create_release: | |
| name: Create Draft Release | |
| if: ${{ !github.event.act }} # skip during local actions testing | |
| needs: cleanup_previous_builds | |
| runs-on: ubuntu-latest | |
| outputs: | |
| upload_url: ${{ steps.create_release.outputs.upload_url }} | |
| release_id: ${{ steps.create_release.outputs.release_id }} | |
| steps: | |
| - uses: actions/github-script@v7 | |
| id: create_release | |
| env: | |
| TAG_NAME: ${{ github.ref }} | |
| RELEASE_NAME: ${{ github.ref }} snapshot | |
| with: | |
| github-token: ${{secrets.GITHUB_TOKEN}} | |
| retries: 3 | |
| script: | | |
| const { TAG_NAME, RELEASE_NAME } = process.env; | |
| const createReleaseResponse = await github.rest.repos.createRelease({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| tag_name: TAG_NAME.replace('refs/tags/', ''), | |
| name: RELEASE_NAME.replace('refs/tags/', ''), | |
| draft: true, | |
| prerelease: true, | |
| target_commitish: context.sha | |
| }); | |
| core.setOutput('release_id', createReleaseResponse.data.id); | |
| core.setOutput('upload_url', createReleaseResponse.data.upload_url); | |
| build_doc: | |
| name: Style check, Test Headless, Build Documentation | |
| needs: [create_release] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - shell: bash | |
| run: git config --global core.autocrlf input | |
| - name: Checkout Source | |
| if: env.exiting1 != 'true' | |
| uses: actions/checkout@v4 | |
| - name: Checkout USBSID-Pico driver | |
| if: env.exiting1 != 'true' | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: ${{ env.SOURCE_REPO }} | |
| path: ${{ env.PATH_SOURCE_CHECKOUT }} | |
| - name: Copy files | |
| if: env.exiting1 != 'true' | |
| run: | | |
| mkdir -p vice/src/lib/libusbsiddrv | |
| cd $PATH_SOURCE_CHECKOUT | |
| cp -u $FILES ../vice/src/lib/libusbsiddrv/ | |
| cd .. | |
| - name: Install Dependencies | |
| shell: bash | |
| run: | | |
| sudo apt update | |
| sudo apt-get -y install autoconf \ | |
| automake \ | |
| build-essential \ | |
| byacc \ | |
| dos2unix \ | |
| flex \ | |
| libcurl4-openssl-dev \ | |
| libpcap-dev \ | |
| texinfo \ | |
| texlive-fonts-recommended \ | |
| texlive-latex-extra \ | |
| xa65 | |
| - name: Build | |
| id: build | |
| shell: bash | |
| run: | | |
| cd vice | |
| ./src/buildtools/genvicedate_h.sh | |
| ./autogen.sh | |
| ./configure --enable-option-checking=fatal \ | |
| --enable-headlessui \ | |
| --enable-html-docs \ | |
| --enable-pdf-docs \ | |
| --without-alsa \ | |
| --without-png \ | |
| --without-pulse | |
| make stylecheck | |
| make | |
| - name: Upload Artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: vice-pdf | |
| path: vice/doc/vice.pdf | |
| retention-days: 1 | |
| - name: Upload Release Asset | |
| uses: actions/github-script@v7 | |
| env: | |
| UPLOAD_URL: ${{ needs.create_release.outputs.upload_url }} | |
| ASSET_PATH: vice/doc/vice.pdf | |
| ASSET_NAME: vice.pdf | |
| ASSET_CONTENT_TYPE: application/pdf | |
| with: | |
| github-token: ${{secrets.GITHUB_TOKEN}} | |
| retries: 3 | |
| script: | | |
| const fs = require('fs'); | |
| const { UPLOAD_URL, ASSET_PATH, ASSET_NAME, ASSET_CONTENT_TYPE } = process.env; | |
| const uploadAssetResponse = await github.rest.repos.uploadReleaseAsset({ | |
| url: UPLOAD_URL, | |
| headers: { | |
| 'content-type': ASSET_CONTENT_TYPE, | |
| 'content-length': fs.statSync(ASSET_PATH).size | |
| }, | |
| name: ASSET_NAME, | |
| data: fs.readFileSync(ASSET_PATH) | |
| }); | |
| build_win: | |
| name: Build | |
| needs: [create_release, build_doc] | |
| runs-on: windows-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| arch: | |
| - { msystem: MINGW64, arch: x86_64, prefix: mingw64 } | |
| #- { msystem: MINGW32, arch: i686, prefix: mingw32 } | |
| ui: [ GTK3, SDL2, SDL1 ] | |
| steps: | |
| - run: git config --global core.autocrlf input | |
| shell: bash | |
| - name: Checkout Source | |
| if: env.exiting1 != 'true' | |
| uses: actions/checkout@v4 | |
| - name: Download Documentation | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: vice-pdf | |
| path: vice/doc/ | |
| - name: Install GTK3 Dependencies if Applicable | |
| if: ${{ matrix.ui == 'GTK3' }} | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: ${{ matrix.arch.msystem }} | |
| update: true | |
| install: >- | |
| autotools | |
| base-devel | |
| git | |
| mingw-w64-${{ matrix.arch.arch }}-curl | |
| mingw-w64-${{ matrix.arch.arch }}-docbook-xml | |
| mingw-w64-${{ matrix.arch.arch }}-docbook-xsl | |
| mingw-w64-${{ matrix.arch.arch }}-flac | |
| mingw-w64-${{ matrix.arch.arch }}-giflib | |
| mingw-w64-${{ matrix.arch.arch }}-glew | |
| mingw-w64-${{ matrix.arch.arch }}-gtk3 | |
| mingw-w64-${{ matrix.arch.arch }}-icoutils | |
| mingw-w64-${{ matrix.arch.arch }}-lame | |
| mingw-w64-${{ matrix.arch.arch }}-libpcap | |
| mingw-w64-${{ matrix.arch.arch }}-libvorbis | |
| mingw-w64-${{ matrix.arch.arch }}-mpg123 | |
| mingw-w64-${{ matrix.arch.arch }}-ntldd | |
| mingw-w64-${{ matrix.arch.arch }}-pkg-config | |
| mingw-w64-${{ matrix.arch.arch }}-portaudio | |
| mingw-w64-${{ matrix.arch.arch }}-toolchain | |
| mingw-w64-${{ matrix.arch.arch }}-xa65 | |
| mingw-w64-${{ matrix.arch.arch }}-libusb | |
| p7zip | |
| subversion | |
| unzip | |
| xmlto | |
| zip | |
| - name: Install SDL2 Dependencies if Applicable | |
| if: ${{ matrix.ui == 'SDL2' }} | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: ${{ matrix.arch.msystem }} | |
| update: true | |
| install: >- | |
| autotools | |
| base-devel | |
| git | |
| mingw-w64-${{ matrix.arch.arch }}-SDL2 | |
| mingw-w64-${{ matrix.arch.arch }}-SDL2_image | |
| mingw-w64-${{ matrix.arch.arch }}-curl | |
| mingw-w64-${{ matrix.arch.arch }}-docbook-xml | |
| mingw-w64-${{ matrix.arch.arch }}-docbook-xsl | |
| mingw-w64-${{ matrix.arch.arch }}-flac | |
| mingw-w64-${{ matrix.arch.arch }}-giflib | |
| mingw-w64-${{ matrix.arch.arch }}-glew | |
| mingw-w64-${{ matrix.arch.arch }}-icoutils | |
| mingw-w64-${{ matrix.arch.arch }}-lame | |
| mingw-w64-${{ matrix.arch.arch }}-libpcap | |
| mingw-w64-${{ matrix.arch.arch }}-libvorbis | |
| mingw-w64-${{ matrix.arch.arch }}-mpg123 | |
| mingw-w64-${{ matrix.arch.arch }}-ntldd | |
| mingw-w64-${{ matrix.arch.arch }}-pkg-config | |
| mingw-w64-${{ matrix.arch.arch }}-portaudio | |
| mingw-w64-${{ matrix.arch.arch }}-toolchain | |
| mingw-w64-${{ matrix.arch.arch }}-xa65 | |
| mingw-w64-${{ matrix.arch.arch }}-libusb | |
| p7zip | |
| subversion | |
| unzip | |
| xmlto | |
| zip | |
| - name: Install SDL1 Dependencies if Applicable | |
| if: ${{ matrix.ui == 'SDL1' }} | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: ${{ matrix.arch.msystem }} | |
| update: true | |
| install: >- | |
| autotools | |
| base-devel | |
| git | |
| mingw-w64-${{ matrix.arch.arch }}-SDL | |
| mingw-w64-${{ matrix.arch.arch }}-SDL_image | |
| mingw-w64-${{ matrix.arch.arch }}-curl | |
| mingw-w64-${{ matrix.arch.arch }}-docbook-xml | |
| mingw-w64-${{ matrix.arch.arch }}-docbook-xsl | |
| mingw-w64-${{ matrix.arch.arch }}-flac | |
| mingw-w64-${{ matrix.arch.arch }}-giflib | |
| mingw-w64-${{ matrix.arch.arch }}-glew | |
| mingw-w64-${{ matrix.arch.arch }}-icoutils | |
| mingw-w64-${{ matrix.arch.arch }}-lame | |
| mingw-w64-${{ matrix.arch.arch }}-libpcap | |
| mingw-w64-${{ matrix.arch.arch }}-libvorbis | |
| mingw-w64-${{ matrix.arch.arch }}-mpg123 | |
| mingw-w64-${{ matrix.arch.arch }}-ntldd | |
| mingw-w64-${{ matrix.arch.arch }}-pkg-config | |
| mingw-w64-${{ matrix.arch.arch }}-portaudio | |
| mingw-w64-${{ matrix.arch.arch }}-toolchain | |
| mingw-w64-${{ matrix.arch.arch }}-xa65 | |
| mingw-w64-${{ matrix.arch.arch }}-libusb | |
| p7zip | |
| subversion | |
| unzip | |
| xmlto | |
| zip | |
| - name: Build and install libieee1284 | |
| id: build_libieee1284 | |
| shell: msys2 {0} | |
| run: | | |
| OLDDIR=$(pwd) | |
| mkdir ~/work/ | |
| cd ~/work | |
| git clone https://github.com/twaugh/libieee1284 | |
| cd libieee1284 | |
| export XML_CATALOG_FILES="/${{ matrix.arch.prefix }}/etc/xml/catalog" | |
| ./bootstrap | |
| ./configure --without-python | |
| make CFLAGS="-Wno-incompatible-pointer-types" | |
| make install | |
| cd "$OLDDIR" | |
| - name: Checkout USBSID-Pico driver | |
| if: env.exiting1 != 'true' | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: ${{ env.SOURCE_REPO }} | |
| path: ${{ env.PATH_SOURCE_CHECKOUT }} | |
| - name: Copy files | |
| shell: msys2 {0} | |
| run: | | |
| mkdir -p vice/src/lib/libusbsiddrv | |
| cd $PATH_SOURCE_CHECKOUT | |
| cp $FILES ../vice/src/lib/libusbsiddrv/ | |
| cd .. | |
| - name: Build | |
| id: build | |
| shell: msys2 {0} | |
| run: | | |
| MINGW_INSTALLS=${{ matrix.arch.msystem }} ./vice/build/github-actions/build-msys2-usbsid.sh ${{ matrix.ui }} "$(echo "${{ github.ref }}" | sed 's,.*/,,')" | |
| echo "zip_path=$(cygpath -w -a vice/*.zip)" >> $GITHUB_OUTPUT | |
| echo "zip_name=$(basename vice/*.zip)" >> $GITHUB_OUTPUT | |
| echo "seven_zip_path=$(cygpath -w -a vice/*.7z)" >> $GITHUB_OUTPUT | |
| echo "seven_zip_name=$(basename vice/*.7z)" >> $GITHUB_OUTPUT | |
| - name: Upload Zip | |
| id: upload-zip | |
| uses: actions/github-script@v7 | |
| env: | |
| UPLOAD_URL: ${{ needs.create_release.outputs.upload_url }} | |
| ASSET_PATH: ${{ steps.build.outputs.zip_path }} | |
| ASSET_NAME: ${{ steps.build.outputs.zip_name }} | |
| ASSET_CONTENT_TYPE: application/zip | |
| with: | |
| github-token: ${{secrets.GITHUB_TOKEN}} | |
| retries: 3 | |
| script: | | |
| const fs = require('fs'); | |
| const { UPLOAD_URL, ASSET_PATH, ASSET_NAME, ASSET_CONTENT_TYPE } = process.env; | |
| const uploadAssetResponse = await github.rest.repos.uploadReleaseAsset({ | |
| url: UPLOAD_URL, | |
| headers: { | |
| 'content-type': ASSET_CONTENT_TYPE, | |
| 'content-length': fs.statSync(ASSET_PATH).size | |
| }, | |
| name: ASSET_NAME, | |
| data: fs.readFileSync(ASSET_PATH) | |
| }); | |
| - name: Upload 7Zip | |
| id: upload-7zip | |
| uses: actions/github-script@v7 | |
| env: | |
| UPLOAD_URL: ${{ needs.create_release.outputs.upload_url }} | |
| ASSET_PATH: ${{ steps.build.outputs.seven_zip_path }} | |
| ASSET_NAME: ${{ steps.build.outputs.seven_zip_name }} | |
| ASSET_CONTENT_TYPE: application/x-7z-compressed | |
| with: | |
| github-token: ${{secrets.GITHUB_TOKEN}} | |
| retries: 3 | |
| script: | | |
| const fs = require('fs'); | |
| const { UPLOAD_URL, ASSET_PATH, ASSET_NAME, ASSET_CONTENT_TYPE } = process.env; | |
| const uploadAssetResponse = await github.rest.repos.uploadReleaseAsset({ | |
| url: UPLOAD_URL, | |
| headers: { | |
| 'content-type': ASSET_CONTENT_TYPE, | |
| 'content-length': fs.statSync(ASSET_PATH).size | |
| }, | |
| name: ASSET_NAME, | |
| data: fs.readFileSync(ASSET_PATH) | |
| }); | |
| build_deb: | |
| name: Build Debian Package | |
| needs: [create_release, build_doc] | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ui: [ { name: 'GTK3', | |
| conf: '--enable-gtk3ui --with-pulse', | |
| deps: 'libevdev-dev libglew-dev libgtk-3-dev libpulse-dev' }, | |
| { name: 'SDL2', | |
| conf: '--enable-sdl2ui --with-sdlsound --without-pulse', | |
| deps: 'libsdl2-dev libsdl2-image-dev' }, | |
| { name: 'SDL1', | |
| conf: '--enable-sdl1ui --with-sdlsound --without-pulse', | |
| deps: 'libsdl1.2-dev libsdl-image1.2-dev' }, | |
| { name: 'Headless', | |
| conf: '--enable-headlessui --with-pulse', | |
| deps: 'libpulse-dev' } ] | |
| steps: | |
| - shell: bash | |
| run: git config --global core.autocrlf input | |
| - name: Checkout Source | |
| if: env.exiting1 != 'true' | |
| uses: actions/checkout@v4 | |
| - name: Checkout USBSID-Pico driver | |
| if: env.exiting1 != 'true' | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: ${{ env.SOURCE_REPO }} | |
| path: ${{ env.PATH_SOURCE_CHECKOUT }} | |
| - name: Copy files | |
| if: env.exiting1 != 'true' | |
| run: | | |
| mkdir -p vice/src/lib/libusbsiddrv | |
| cd $PATH_SOURCE_CHECKOUT | |
| cp -u $FILES ../vice/src/lib/libusbsiddrv/ | |
| cd .. | |
| pwd | |
| - name: Download Documentation | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: vice-pdf | |
| path: vice/doc/ | |
| - name: Install Dependencies | |
| shell: bash | |
| run: | | |
| sudo apt update | |
| sudo apt install -y autoconf \ | |
| automake \ | |
| build-essential \ | |
| byacc \ | |
| devscripts \ | |
| dos2unix \ | |
| fakeroot \ | |
| flex \ | |
| libasound-dev \ | |
| libcap-dev \ | |
| libcurl4-openssl-dev \ | |
| libflac-dev \ | |
| libgif-dev \ | |
| libieee1284-3-dev \ | |
| libmp3lame-dev \ | |
| libmpg123-dev \ | |
| libpcap-dev \ | |
| libpng-dev \ | |
| libvorbis-dev \ | |
| libusb-1.0-0 \ | |
| libusb-1.0-0-dev \ | |
| libusb-dev \ | |
| portaudio19-dev \ | |
| texinfo \ | |
| texlive-fonts-recommended \ | |
| texlive-latex-extra \ | |
| xa65 | |
| sudo apt install -y ${{ matrix.ui.deps }} | |
| - name: Build | |
| shell: bash | |
| run: | | |
| mkdir -p build/usr | |
| cd vice | |
| ./src/buildtools/genvicedate_h.sh | |
| ./autogen.sh | |
| # ALSA is required for SDL2 as well for midi support | |
| ./configure --enable-option-checking=fatal \ | |
| --prefix=/usr \ | |
| ${{ matrix.ui.conf }} \ | |
| --disable-arch \ | |
| --disable-html-docs \ | |
| --enable-usbsid \ | |
| --enable-catweasel \ | |
| --enable-cpuhistory \ | |
| --enable-ethernet \ | |
| --enable-midi \ | |
| --enable-parsid \ | |
| --enable-pdf-docs \ | |
| --with-alsa \ | |
| --with-fastsid \ | |
| --with-flac \ | |
| --with-gif \ | |
| --with-lame \ | |
| --with-libcurl \ | |
| --with-libieee1284 \ | |
| --with-mpg123 \ | |
| --with-png \ | |
| --with-portaudio \ | |
| --with-resid \ | |
| --with-vorbis | |
| make -j2 -s --no-print-directory SVN_REVISION_OVERRIDE=$(echo "${{ github.ref }}" | sed 's/^.*r//') | |
| # Don't use install-strip, we want symbols intact for backtraces | |
| make DESTDIR=$HOME/build install | |
| - name: Make Deb | |
| id: make_deb | |
| shell: bash | |
| run: ./vice/build/github-actions/build-deb.sh ${{ matrix.ui.name }} | |
| - name: Upload Deb | |
| id: upload_deb | |
| uses: actions/github-script@v7 | |
| env: | |
| UPLOAD_URL: ${{ needs.create_release.outputs.upload_url }} | |
| ASSET_PATH: ${{ steps.make_deb.outputs.deb_path }} | |
| ASSET_NAME: ${{ steps.make_deb.outputs.deb_name }} | |
| ASSET_CONTENT_TYPE: application/vnd.debian.binary-package | |
| with: | |
| github-token: ${{secrets.GITHUB_TOKEN}} | |
| retries: 3 | |
| script: | | |
| const fs = require('fs'); | |
| const { UPLOAD_URL, ASSET_PATH, ASSET_NAME, ASSET_CONTENT_TYPE } = process.env; | |
| const uploadAssetResponse = await github.rest.repos.uploadReleaseAsset({ | |
| url: UPLOAD_URL, | |
| headers: { | |
| 'content-type': ASSET_CONTENT_TYPE, | |
| 'content-length': fs.statSync(ASSET_PATH).size | |
| }, | |
| name: ASSET_NAME, | |
| data: fs.readFileSync(ASSET_PATH) | |
| }); | |
| build_mac: | |
| name: Build MacOs Package | |
| needs: [create_release, build_doc] | |
| runs-on: macos-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ui: [ { name: 'GTK3', | |
| conf: '--enable-gtk3ui', | |
| deps: 'gtk+3' }, | |
| { name: 'SDL2', | |
| conf: '--enable-sdl2ui --with-sdlsound --without-pulse', | |
| deps: 'sdl2 sdl2_image' }, | |
| # { name: 'SDL1', | |
| # conf: '--enable-sdl1ui --with-sdlsound --without-pulse', | |
| # deps: 'sdl sdl12-compat sdl2_image' }, | |
| { name: 'Headless', | |
| conf: '--enable-headlessui --with-pulse', | |
| deps: '' } | |
| ] | |
| steps: | |
| - name: Checkout Source | |
| uses: actions/checkout@v4 | |
| - name: Checkout USBSID-Pico driver | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: ${{ env.SOURCE_REPO }} | |
| path: ${{ env.PATH_SOURCE_CHECKOUT }} | |
| - name: Copy files | |
| run: | | |
| mkdir -p vice/src/lib/libusbsiddrv | |
| cd $PATH_SOURCE_CHECKOUT | |
| cp $FILES ../vice/src/lib/libusbsiddrv/ | |
| cd .. | |
| pwd | |
| - name: deps [macOS] | |
| if: runner.os == 'macOS' | |
| run: | | |
| export HOMEBREW_NO_INSTALL_CLEANUP=1 | |
| brew update | |
| brew upgrade || true | |
| brew uninstall --ignore-dependencies --force [email protected] | |
| brew install \ | |
| dos2unix \ | |
| autoconf \ | |
| automake \ | |
| libtool \ | |
| pkgconf \ | |
| coreutils \ | |
| gnu-sed \ | |
| libgcrypt \ | |
| xa \ | |
| librsvg \ | |
| adwaita-icon-theme \ | |
| glew \ | |
| libusb \ | |
| libusb-compat \ | |
| ${{ matrix.ui.deps }} | |
| - name: Build | |
| run: | | |
| mkdir -p build/usr | |
| cd vice | |
| ./src/buildtools/genvicedate_h.sh | |
| ./autogen.sh | |
| # ALSA is required for SDL2 as well for midi support | |
| ./configure --enable-option-checking=fatal \ | |
| --prefix=/usr \ | |
| --disable-arch \ | |
| --enable-usbsid \ | |
| --enable-cpuhistory \ | |
| --enable-parsid \ | |
| --with-pulse \ | |
| --with-alsa \ | |
| --with-fastsid \ | |
| --with-resid \ | |
| ${{ matrix.ui.conf }} | |
| make -j $(sysctl -n hw.ncpu) -s | |
| make DESTDIR=$HOME/build install | |
| cd .. | |
| mkdir $PATH_ARTIFACTS | |
| cd $PATH_ARTIFACTS | |
| tar cvzf vice-macos-${{ matrix.ui.name }}.tgz -C $HOME/build . | |
| pwd | |
| ls -l | |
| - name: Upload zip | |
| id: upload_macoszip | |
| uses: actions/github-script@v7 | |
| env: | |
| UPLOAD_URL: ${{ needs.create_release.outputs.upload_url }} | |
| ASSET_PATH: ${{ env.PATH_ARTIFACTS}}/vice-macos-${{ matrix.ui.name }}.tgz | |
| ASSET_NAME: vice-macos-${{ matrix.ui.name }}.tgz | |
| ASSET_CONTENT_TYPE: application/vnd.debian.binary-package | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| retries: 3 | |
| script: | | |
| const fs = require('fs'); | |
| const { UPLOAD_URL, ASSET_PATH, ASSET_NAME, ASSET_CONTENT_TYPE } = process.env; | |
| const uploadAssetResponse = await github.rest.repos.uploadReleaseAsset({ | |
| url: UPLOAD_URL, | |
| headers: { | |
| 'content-type': ASSET_CONTENT_TYPE, | |
| 'content-length': fs.statSync(ASSET_PATH).size | |
| }, | |
| name: ASSET_NAME, | |
| data: fs.readFileSync(ASSET_PATH) | |
| }); | |
| publish_release: | |
| name: Publish Release | |
| needs: [create_release, build_win, build_deb] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/github-script@v7 | |
| with: | |
| github-token: ${{secrets.GITHUB_TOKEN}} | |
| retries: 3 | |
| script: | | |
| await github.rest.repos.updateRelease( | |
| { | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| release_id: ${{ needs.create_release.outputs.release_id }}, | |
| draft: false | |
| }); |