diff options
author | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2022-12-13 23:18:30 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2022-12-13 23:18:30 +0300 |
commit | 10fb9e8daa3f53f641a0046d933c21f651ae1534 (patch) | |
tree | 7bb06496e96d71cf631b930c2eb0b7ed05dc3b14 | |
parent | 97c672f9972226b7e7e65ecff451962fc93da8b1 (diff) |
GitHub Pages
-rw-r--r-- | .github/workflows/build.yaml | 83 | ||||
-rw-r--r-- | .github/workflows/release.yaml | 50 | ||||
-rw-r--r-- | README.md | 2 |
3 files changed, 96 insertions, 39 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 52ff78c..09e7145 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,4 +1,4 @@ -name: Build test +name: Build, test, upload on: push: @@ -7,8 +7,13 @@ on: branches: [ master ] workflow_dispatch: -jobs: +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write +jobs: build-linux: strategy: matrix: @@ -16,8 +21,11 @@ jobs: runs-on: ubuntu-latest env: APP_NAME: coolgirl-multirom-builder - OUTPUT_DIR: output - TOOLS_DIR: output/tools + OUTPUT_DIR: coolgirl-multirom-builder + TOOLS_DIR: coolgirl-multirom-builder/tools + OUTPUT_FILE_X64: coolgirl-multirom-builder-linux-x64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz + OUTPUT_FILE_ARM32: coolgirl-multirom-builder-linux-arm32${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz + OUTPUT_FILE_ARM64: coolgirl-multirom-builder-linux-arm64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz steps: - name: Checkout uses: actions/checkout@v3 @@ -51,11 +59,16 @@ jobs: run: make -C ${{ env.OUTPUT_DIR }} all - name: Clean run: make -C ${{ env.OUTPUT_DIR }} clean + - name: Archive + env: + CMD: tar -czvf + run: | + ${{ env.CMD }} ${{ env.OUTPUT_FILE_X64 }} ${{ env.OUTPUT_DIR }} - name: Upload artifact for Linux-x64 uses: actions/upload-artifact@v3 with: name: ${{ env.APP_NAME }}-linux-x64-${{ matrix.sc }} - path: ${{ env.OUTPUT_DIR }} + path: ${{ env.OUTPUT_FILE_X64 }} - name: Clean run: >- rm -f ${{ env.TOOLS_DIR }}/* && @@ -72,11 +85,16 @@ jobs: run: make -C tools_sources/nesasm/source EXEDIR=../../../${{ env.TOOLS_DIR }} CC=arm-linux-gnueabihf-gcc - name: Remove unnecessary files run: rm -f ${{ env.TOOLS_DIR }}/*.md + - name: Archive + env: + CMD: tar -czvf + run: | + ${{ env.CMD }} ${{ env.OUTPUT_FILE_ARM32 }} ${{ env.OUTPUT_DIR }} - name: Upload artifact for Linux-ARM32 uses: actions/upload-artifact@v3 with: name: ${{ env.APP_NAME }}-linux-arm32-${{ matrix.sc }} - path: ${{ env.OUTPUT_DIR }} + path: ${{ env.OUTPUT_FILE_ARM32 }} - name: Clean run: >- rm -f ${{ env.TOOLS_DIR }}/* && @@ -93,11 +111,16 @@ jobs: run: make -C tools_sources/nesasm/source EXEDIR=../../../${{ env.TOOLS_DIR }} CC=aarch64-linux-gnu-gcc - name: Remove unnecessary files run: rm -f ${{ env.TOOLS_DIR }}/*.md + - name: Archive + env: + CMD: tar -czvf + run: | + ${{ env.CMD }} ${{ env.OUTPUT_FILE_ARM64 }} ${{ env.OUTPUT_DIR }} - name: Upload artifact for Linux-ARM64 uses: actions/upload-artifact@v3 with: name: ${{ env.APP_NAME }}-linux-arm64-${{ matrix.sc }} - path: ${{ env.OUTPUT_DIR }} + path: ${{ env.OUTPUT_FILE_ARM64 }} build-macos: strategy: @@ -106,8 +129,9 @@ jobs: runs-on: macos-latest env: APP_NAME: coolgirl-multirom-builder - OUTPUT_DIR: output - TOOLS_DIR: output/tools + OUTPUT_DIR: coolgirl-multirom-builder + TOOLS_DIR: coolgirl-multirom-builder/tools + OUTPUT_FILE: coolgirl-multirom-builder-osx-x64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz steps: - name: Checkout uses: actions/checkout@v3 @@ -139,11 +163,16 @@ jobs: run: make -C ${{ env.OUTPUT_DIR }} all - name: Clean run: make -C ${{ env.OUTPUT_DIR }} clean + - name: Archive + env: + CMD: tar -czvf + run: | + ${{ env.CMD }} ${{ env.OUTPUT_FILE }} ${{ env.OUTPUT_DIR }} - name: Upload artifact for MacOS-x64 uses: actions/upload-artifact@v3 with: name: ${{ env.APP_NAME }}-osx-x64-${{ matrix.sc }} - path: ${{ env.OUTPUT_DIR }} + path: ${{ env.OUTPUT_FILE }} build-windows: strategy: @@ -152,8 +181,9 @@ jobs: runs-on: windows-latest env: APP_NAME: coolgirl-multirom-builder - OUTPUT_DIR: output - TOOLS_DIR: output/tools + OUTPUT_DIR: coolgirl-multirom-builder + TOOLS_DIR: coolgirl-multirom-builder/tools + OUTPUT_FILE: coolgirl-multirom-builder-win-x64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.zip steps: - name: Checkout uses: actions/checkout@v3 @@ -172,6 +202,7 @@ jobs: gcc git libargp-devel + zip - name: Copy main files shell: msys2 {0} run: >- @@ -197,8 +228,34 @@ jobs: - name: Clean shell: msys2 {0} run: make -C ${{ env.OUTPUT_DIR }} clean + - name: Archive + env: + CMD: zip -r9 + shell: msys2 {0} + run: | + ${{ env.CMD }} ${{ env.OUTPUT_FILE }} ${{ env.OUTPUT_DIR }} - name: Upload artifact for Win-x64 uses: actions/upload-artifact@v3 with: name: ${{ env.APP_NAME }}-win-x64-${{ matrix.sc }} - path: ${{ env.OUTPUT_DIR }} + path: ${{ env.OUTPUT_FILE }} + + upload-to-pages: + needs: [build-linux, build-macos, build-windows] + runs-on: ubuntu-latest + steps: + - name: Download artifacts + uses: actions/download-artifact@v3 + - name: Move files to the root + run: find -mindepth 2 -exec mv {} . \; + - name: Remove empty directories + run: find -mindepth 1 -type d -delete + - name: Generate index.html + run: "(echo \"<html><head><title>COOLGIRL Multirom Builder</title></head><body>Updated: `date`<br/><br/>\" ; for file in coolgirl-* ; do echo \"<a href='$file'>$file</a><br/>\" ; done ; echo \"</body></html>\") > index.html" + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: '.' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 7747014..c6e9caf 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -31,12 +31,12 @@ jobs: sc: [no-self-contained, self-contained] runs-on: ubuntu-latest env: - APP_NAME: coolgirl-multirom-builder - OUTPUT_DIR: coolgirl-multirom-builder - TOOLS_DIR: coolgirl-multirom-builder/tools - OUTPUT_FILE_X64: coolgirl-multirom-builder-linux-x64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz - OUTPUT_FILE_ARM32: coolgirl-multirom-builder-linux-arm32${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz - OUTPUT_FILE_ARM64: coolgirl-multirom-builder-linux-arm64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz + APP_NAME: coolboy-multirom-builder + OUTPUT_DIR: coolboy-multirom-builder + TOOLS_DIR: coolboy-multirom-builder/tools + OUTPUT_FILE_X64: coolboy-multirom-builder-linux-x64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz + OUTPUT_FILE_ARM32: coolboy-multirom-builder-linux-arm32${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz + OUTPUT_FILE_ARM64: coolboy-multirom-builder-linux-arm64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz steps: - name: Checkout uses: actions/checkout@v3 @@ -66,10 +66,10 @@ jobs: run: | value=`cat release_url/release_url.txt` echo upload_url=$value >> $GITHUB_OUTPUT - - name: Build CoolgirlCombiner for Linux-x64 + - name: Build CoolboyCombiner for Linux-x64 env: SC_OPS: ${{ matrix.sc == 'self-contained' && '--self-contained true -p:PublishTrimmed=False' || '--no-self-contained' }} - run: dotnet publish tools_sources/CoolgirlCombiner -c Release -r linux-x64 -o ${{ env.TOOLS_DIR }} ${{ env.SC_OPS }} + run: dotnet publish tools_sources/CoolboyCombiner -c Release -r linux-x64 -o ${{ env.TOOLS_DIR }} ${{ env.SC_OPS }} - name: Build NesTiler for Linux-x64 env: SC_OPS: ${{ matrix.sc == 'self-contained' && '--self-contained true -p:PublishTrimmed=False' || '--no-self-contained' }} @@ -100,10 +100,10 @@ jobs: run: >- rm -f ${{ env.TOOLS_DIR }}/* && make -C tools_sources/nesasm/source clean - - name: Build CoolgirlCombiner for Linux-ARM32 + - name: Build CoolboyCombiner for Linux-ARM32 env: SC_OPS: ${{ matrix.sc == 'self-contained' && '--self-contained true -p:PublishTrimmed=False' || '--no-self-contained' }} - run: dotnet publish tools_sources/CoolgirlCombiner -c Release -r linux-arm -o ${{ env.TOOLS_DIR }} ${{ env.SC_OPS }} + run: dotnet publish tools_sources/CoolboyCombiner -c Release -r linux-arm -o ${{ env.TOOLS_DIR }} ${{ env.SC_OPS }} - name: Build NesTiler for Linux-ARM32 env: SC_OPS: ${{ matrix.sc == 'self-contained' && '--self-contained true -p:PublishTrimmed=False' || '--no-self-contained' }} @@ -130,10 +130,10 @@ jobs: run: >- rm -f ${{ env.TOOLS_DIR }}/* && make -C tools_sources/nesasm/source clean - - name: Build CoolgirlCombiner for Linux-ARM64 + - name: Build CoolboyCombiner for Linux-ARM64 env: SC_OPS: ${{ matrix.sc == 'self-contained' && '--self-contained true -p:PublishTrimmed=False' || '--no-self-contained' }} - run: dotnet publish tools_sources/CoolgirlCombiner -c Release -r linux-arm64 -o ${{ env.TOOLS_DIR }} ${{ env.SC_OPS }} + run: dotnet publish tools_sources/CoolboyCombiner -c Release -r linux-arm64 -o ${{ env.TOOLS_DIR }} ${{ env.SC_OPS }} - name: Build NesTiler for Linux-ARM64 env: SC_OPS: ${{ matrix.sc == 'self-contained' && '--self-contained true -p:PublishTrimmed=False' || '--no-self-contained' }} @@ -164,10 +164,10 @@ jobs: sc: [no-self-contained, self-contained] runs-on: macos-latest env: - APP_NAME: coolgirl-multirom-builder - OUTPUT_DIR: coolgirl-multirom-builder - TOOLS_DIR: coolgirl-multirom-builder/tools - OUTPUT_FILE: coolgirl-multirom-builder-osx-x64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz + APP_NAME: coolboy-multirom-builder + OUTPUT_DIR: coolboy-multirom-builder + TOOLS_DIR: coolboy-multirom-builder/tools + OUTPUT_FILE: coolboy-multirom-builder-osx-x64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.tar.gz steps: - name: Checkout uses: actions/checkout@v3 @@ -183,10 +183,10 @@ jobs: run: >- mkdir -p ${{ env.OUTPUT_DIR }} && cp -fR *.asm Makefile LICENSE README.md configs spec demos games images footer.* ${{ env.OUTPUT_DIR }} - - name: Build CoolgirlCombiner for MacOS-x64 + - name: Build CoolboyCombiner for MacOS-x64 env: SC_OPS: ${{ matrix.sc == 'self-contained' && '--self-contained true -p:PublishTrimmed=False' || '--no-self-contained' }} - run: dotnet publish tools_sources/CoolgirlCombiner -c Release -r osx-x64 -o ${{ env.TOOLS_DIR }} ${{ env.SC_OPS }} + run: dotnet publish tools_sources/CoolboyCombiner -c Release -r osx-x64 -o ${{ env.TOOLS_DIR }} ${{ env.SC_OPS }} - name: Build NesTiler for MacOS-x64 env: SC_OPS: ${{ matrix.sc == 'self-contained' && '--self-contained true -p:PublishTrimmed=False' || '--no-self-contained' }} @@ -233,10 +233,10 @@ jobs: sc: [no-self-contained, self-contained] runs-on: windows-latest env: - APP_NAME: coolgirl-multirom-builder - OUTPUT_DIR: coolgirl-multirom-builder - TOOLS_DIR: coolgirl-multirom-builder/tools - OUTPUT_FILE: coolgirl-multirom-builder-win-x64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.zip + APP_NAME: coolboy-multirom-builder + OUTPUT_DIR: coolboy-multirom-builder + TOOLS_DIR: coolboy-multirom-builder/tools + OUTPUT_FILE: coolboy-multirom-builder-win-x64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.zip steps: - name: Checkout uses: actions/checkout@v3 @@ -261,10 +261,10 @@ jobs: run: >- mkdir -p ${{ env.OUTPUT_DIR }} && cp -fR *.asm Makefile LICENSE README.md configs spec demos games images footer.* *.bat ${{ env.OUTPUT_DIR }} - - name: Build CoolgirlCombiner for Win-x64 + - name: Build CoolboyCombiner for Win-x64 env: SC_OPS: ${{ matrix.sc == 'self-contained' && '--self-contained true -p:PublishTrimmed=False' || '--no-self-contained' }} - run: dotnet publish tools_sources/CoolgirlCombiner -c Release -r win-x64 -o ${{ env.TOOLS_DIR }} ${{ env.SC_OPS }} + run: dotnet publish tools_sources/CoolboyCombiner -c Release -r win-x64 -o ${{ env.TOOLS_DIR }} ${{ env.SC_OPS }} - name: Build NesTiler for Win-x64 env: SC_OPS: ${{ matrix.sc == 'self-contained' && '--self-contained true -p:PublishTrimmed=False' || '--no-self-contained' }} @@ -288,7 +288,7 @@ jobs: run: | ${{ env.CMD }} ${{ env.OUTPUT_FILE }} ${{ env.OUTPUT_DIR }} - name: Load Release URL File from release job - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v3 with: name: release_url - name: Get Release File Name & Upload URL @@ -121,7 +121,7 @@ Alternative method (easier and faster): ## Download You can always download the latest version at [https://github.com/ClusterM/coolgirl-multirom-builder/releases](https://github.com/ClusterM/coolgirl-multirom-builder/releases). -Also, you can download automatic nightly builds in GitHub Actions Artifacts: [https://github.com/ClusterM/coolgirl-multirom-builder/actions](https://github.com/ClusterM/coolgirl-multirom-builder/actions) (registration required). +Also, you can download automatic nightly builds: [http://clusterm.github.io/coolgirl-multirom-builder/](http://clusterm.github.io/coolgirl-multirom-builder/). ## Donate https://www.donationalerts.com/r/clustermeerkat |