mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-17 11:35:08 -04:00
Release workflow
This commit is contained in:
parent
020bf31dbd
commit
f6b4967366
172
.github/workflows/release.yml
vendored
Normal file
172
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
name: Build release
|
||||||
|
on: [workflow_dispatch]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.ref }}-release
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
if: github.ref_name == github.event.repository.default_branch
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
# Download resources
|
||||||
|
- name: Retrieve classicube texture pack
|
||||||
|
run: |
|
||||||
|
wget https://www.classicube.net/static/default.zip
|
||||||
|
- name: Retrieve classicube audio pack
|
||||||
|
run: |
|
||||||
|
wget https://www.classicube.net/static/audio.zip
|
||||||
|
|
||||||
|
# Download windows artifacts
|
||||||
|
- name: Retrieve Windows binaries
|
||||||
|
run: |
|
||||||
|
wget https://cdn.classicube.net/client/latest/ClassiCube.64.exe -O cc-w64.exe
|
||||||
|
wget https://cdn.classicube.net/client/latest/ClassiCube.exe -O cc-w32.exe
|
||||||
|
|
||||||
|
# Download Linux artifacts
|
||||||
|
- name: Retrieve Linux binaries
|
||||||
|
run: |
|
||||||
|
wget https://cdn.classicube.net/client/latest/ClassiCube -O cc-linux-64
|
||||||
|
wget https://cdn.classicube.net/client/latest/ClassiCube.32 -O cc-linux-32
|
||||||
|
|
||||||
|
# Download macOS artifacts
|
||||||
|
- name: Retrieve macOS binaries
|
||||||
|
run: |
|
||||||
|
wget https://cdn.classicube.net/client/latest/ClassiCube.64.osx -O cc-mac-64
|
||||||
|
wget https://cdn.classicube.net/client/latest/ClassiCube.osx -O cc-mac-32
|
||||||
|
|
||||||
|
# Download RPI artifacts
|
||||||
|
- name: Retrieve RPI binaries
|
||||||
|
run: |
|
||||||
|
wget https://cdn.classicube.net/client/latest/cc-rpi64 -O cc-rpi-64
|
||||||
|
wget https://cdn.classicube.net/client/latest/ClassiCube.rpi -O cc-rpi-32
|
||||||
|
|
||||||
|
# Download FreeBSD artifacts
|
||||||
|
- name: Retrieve macOS binaries
|
||||||
|
run: |
|
||||||
|
wget https://cdn.classicube.net/client/latest/cc-freebsd-64 -O cc-freebsd-64
|
||||||
|
wget https://cdn.classicube.net/client/latest/cc-freebsd-32 -O cc-freebsd-32
|
||||||
|
|
||||||
|
- name: Generate builds
|
||||||
|
id: compile
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir ClassiCube
|
||||||
|
mkdir ClassiCube/audio
|
||||||
|
mkdir ClassiCube/texpacks
|
||||||
|
cp audio.zip ClassiCube/audio/classicube.zip
|
||||||
|
cp default.zip ClassiCube/texpacks/classicube.zip
|
||||||
|
|
||||||
|
# ./ClassiCube
|
||||||
|
make_unix_tar() {
|
||||||
|
cp $2 ClassiCube/ClassiCube
|
||||||
|
chmod +x ClassiCube/ClassiCube
|
||||||
|
tar -zcvf $1 ClassiCube
|
||||||
|
rm ClassiCube/ClassiCube
|
||||||
|
}
|
||||||
|
|
||||||
|
# ./ClassiCube
|
||||||
|
make_windows_zip() {
|
||||||
|
cp $2 ClassiCube/ClassiCube.exe
|
||||||
|
zip -r $1 ClassiCube
|
||||||
|
rm ClassiCube/ClassiCube.exe
|
||||||
|
}
|
||||||
|
|
||||||
|
# Generate FreeBSD builds
|
||||||
|
make_unix_tar cc-freebsd32.tar.gz cc-freebsd-32
|
||||||
|
make_unix_tar cc-freebsd64.tar.gz cc-freebsd-64
|
||||||
|
|
||||||
|
# Generate RPI builds
|
||||||
|
make_unix_tar cc-rpi32.tar.gz cc-rpi-32
|
||||||
|
make_unix_tar cc-rpi64.tar.gz cc-rpi-64
|
||||||
|
|
||||||
|
# Generate Linux builds
|
||||||
|
make_unix_tar cc-linux32.tar.gz cc-linux-32
|
||||||
|
make_unix_tar cc-linux64.tar.gz cc-linux-64
|
||||||
|
|
||||||
|
# Generate macOS builds
|
||||||
|
make_unix_tar cc-mac32.tar.gz cc-mac-32
|
||||||
|
make_unix_tar cc-mac64.tar.gz cc-mac-64
|
||||||
|
|
||||||
|
# Generate Windows builds
|
||||||
|
make_windows_zip cc-win32.zip cc-w32.exe
|
||||||
|
make_windows_zip cc-win64.zip cc-w64.exe
|
||||||
|
|
||||||
|
|
||||||
|
- uses: ./.github/actions/notify_failure
|
||||||
|
if: ${{ always() && steps.compile.outcome == 'failure' }}
|
||||||
|
with:
|
||||||
|
NOTIFY_MESSAGE: 'Failed to produce release'
|
||||||
|
WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}'
|
||||||
|
|
||||||
|
|
||||||
|
# Generate Linux release files
|
||||||
|
- uses: ./.github/actions/upload_build
|
||||||
|
if: ${{ always() && steps.compile.outcome == 'success' }}
|
||||||
|
with:
|
||||||
|
SOURCE_FILE: 'cc-linux32.tar.gz'
|
||||||
|
DEST_NAME: 'cc-linux32.tar.gz'
|
||||||
|
|
||||||
|
- uses: ./.github/actions/upload_build
|
||||||
|
if: ${{ always() && steps.compile.outcome == 'success' }}
|
||||||
|
with:
|
||||||
|
SOURCE_FILE: 'cc-linux64.tar.gz'
|
||||||
|
DEST_NAME: 'cc-linux64.tar.gz'
|
||||||
|
|
||||||
|
|
||||||
|
# Generate macOS release files
|
||||||
|
- uses: ./.github/actions/upload_build
|
||||||
|
if: ${{ always() && steps.compile.outcome == 'success' }}
|
||||||
|
with:
|
||||||
|
SOURCE_FILE: 'cc-mac32.tar.gz'
|
||||||
|
DEST_NAME: 'cc-mac32.tar.gz'
|
||||||
|
|
||||||
|
- uses: ./.github/actions/upload_build
|
||||||
|
if: ${{ always() && steps.compile.outcome == 'success' }}
|
||||||
|
with:
|
||||||
|
SOURCE_FILE: 'cc-mac64.tar.gz'
|
||||||
|
DEST_NAME: 'cc-mac64.tar.gz'
|
||||||
|
|
||||||
|
|
||||||
|
# Generate Windows release files
|
||||||
|
- uses: ./.github/actions/upload_build
|
||||||
|
if: ${{ always() && steps.compile.outcome == 'success' }}
|
||||||
|
with:
|
||||||
|
SOURCE_FILE: 'cc-win32.zip'
|
||||||
|
DEST_NAME: 'cc-win32.zip'
|
||||||
|
|
||||||
|
- uses: ./.github/actions/upload_build
|
||||||
|
if: ${{ always() && steps.compile.outcome == 'success' }}
|
||||||
|
with:
|
||||||
|
SOURCE_FILE: 'cc-win64.zip'
|
||||||
|
DEST_NAME: 'cc-win64.zip'
|
||||||
|
|
||||||
|
|
||||||
|
# Generate RPI release files
|
||||||
|
- uses: ./.github/actions/upload_build
|
||||||
|
if: ${{ always() && steps.compile.outcome == 'success' }}
|
||||||
|
with:
|
||||||
|
SOURCE_FILE: 'cc-rpi32.tar.gz'
|
||||||
|
DEST_NAME: 'cc-rpi32.tar.gz'
|
||||||
|
|
||||||
|
- uses: ./.github/actions/upload_build
|
||||||
|
if: ${{ always() && steps.compile.outcome == 'success' }}
|
||||||
|
with:
|
||||||
|
SOURCE_FILE: 'cc-rpi64.tar.gz'
|
||||||
|
DEST_NAME: 'cc-rpi64.tar.gz'
|
||||||
|
|
||||||
|
|
||||||
|
# Generate FreeBSD release files
|
||||||
|
- uses: ./.github/actions/upload_build
|
||||||
|
if: ${{ always() && steps.compile.outcome == 'success' }}
|
||||||
|
with:
|
||||||
|
SOURCE_FILE: 'cc-freebsd32.tar.gz'
|
||||||
|
DEST_NAME: 'cc-freebsd32.tar.gz'
|
||||||
|
|
||||||
|
- uses: ./.github/actions/upload_build
|
||||||
|
if: ${{ always() && steps.compile.outcome == 'success' }}
|
||||||
|
with:
|
||||||
|
SOURCE_FILE: 'cc-freebsd64.tar.gz'
|
||||||
|
DEST_NAME: 'cc-freebsd64.tar.gz'
|
Loading…
x
Reference in New Issue
Block a user