diff options
author | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2022-12-13 22:58:10 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2022-12-13 23:00:36 +0300 |
commit | 2b60d969ecf46405f6b7ae14d2e7e63e6433a553 (patch) | |
tree | ccbc564cd1acf9234926ff06a4fc8075b9cab4d0 | |
parent | 87cf8db1f0e1d75b0c5cd67151570d1ae9e20fec (diff) |
GitHub Pages
-rw-r--r-- | .github/workflows/build.yaml | 70 | ||||
-rw-r--r-- | .github/workflows/release.yaml | 2 | ||||
-rw-r--r-- | README.md | 2 |
3 files changed, 65 insertions, 9 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index c4c4280..bbee932 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: @@ -18,6 +23,9 @@ jobs: APP_NAME: coolboy-multirom-builder OUTPUT_DIR: output TOOLS_DIR: output/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 @@ -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: @@ -108,6 +131,7 @@ jobs: APP_NAME: coolboy-multirom-builder OUTPUT_DIR: output TOOLS_DIR: output/tools + OUTPUT_FILE: coolboy-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: @@ -154,6 +183,7 @@ jobs: APP_NAME: coolboy-multirom-builder OUTPUT_DIR: output TOOLS_DIR: output/tools + OUTPUT_FILE: coolboy-multirom-builder-win-x64${{ matrix.sc == 'self-contained' && '-self-contained' || '' }}.zip steps: - name: Checkout uses: actions/checkout@v3 @@ -197,8 +227,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>COOLBOY Multirom Builder</title></head><body>Updated: `date`<br/><br/>\" ; for file in coolboy-* ; 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 a9cf143..c6e9caf 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -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 @@ -168,7 +168,7 @@ Alternative method (easier and faster): ## Download You can always download the latest version at [https://github.com/ClusterM/coolboy-multirom-builder/releases](https://github.com/ClusterM/coolboy-multirom-builder/releases). -Also, you can download automatic nightly builds in GitHub Actions Artifacts: [https://github.com/ClusterM/coolboy-multirom-builder/actions](https://github.com/ClusterM/coolboy-multirom-builder/actions) (registration required). +Also, you can download automatic nightly builds: [http://clusterm.github.io/coolboy-multirom-builder/](http://clusterm.github.io/coolboy-multirom-builder/). ## Donate https://www.donationalerts.com/r/clustermeerkat |