Add release action

more-targets^2
Titan Yuan 2024-09-27 18:01:17 -07:00
parent df54c734b3
commit ee703692c0
4 changed files with 104 additions and 21 deletions

View File

@ -1,12 +1,14 @@
name: Build project name: Build
on: on:
push: push:
branches: branches:
- release - release
pull_request: tags:
branches: - 'v[0-9]+.[0-9]+.[0-9]+'
- release pull_request:
branches:
- release
jobs: jobs:
buildForAllSupportedPlatforms: buildForAllSupportedPlatforms:
@ -36,13 +38,20 @@ jobs:
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
with: with:
buildName: micromissiles-${{ github.run_number }}-${{ matrix.targetPlatform }} buildName: micromissiles-${{ github.ref_name }}-${{ matrix.targetPlatform }}
versioning: Semantic versioning: Semantic
targetPlatform: ${{ matrix.targetPlatform }} targetPlatform: ${{ matrix.targetPlatform }}
- name: Make build output readable and executable - if: matrix.targetPlatform == 'StandaloneWindows64'
run: | run: cd build/${{ matrix.targetPlatform }} && sudo zip -r ../build-${{ matrix.targetPlatform }}.zip * && cd -
sudo chmod -R +rx build/${{ matrix.targetPlatform }} - if: matrix.targetPlatform == 'StandaloneWindows64'
- uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: Build-${{ matrix.targetPlatform }} name: Build-${{ matrix.targetPlatform }}
path: build/${{ matrix.targetPlatform }} path: build/build-${{ matrix.targetPlatform }}.zip
- if: matrix.targetPlatform == 'StandaloneOSX'
run: sudo tar -czvf build/build-${{ matrix.targetPlatform }}.tar.gz -C build/${{ matrix.targetPlatform }} .
- if: matrix.targetPlatform == 'StandaloneOSX'
uses: actions/upload-artifact@v4
with:
name: Build-${{ matrix.targetPlatform }}
path: build/build-${{ matrix.targetPlatform }}.tar.gz

55
.github/workflows/release.yaml vendored Normal file
View File

@ -0,0 +1,55 @@
name: Release
on:
workflow_run:
workflows: [Build]
types: [completed]
branches-ignore:
- release
jobs:
release:
name: Create release
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.workflow_run.head_branch }}
fetch-depth: 0
lfs: false
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.event.workflow_run.head_branch }}
release_name: ${{ github.event.workflow_run.head_branch }}
body_path: RELEASE.md
draft: false
prerelease: false
- uses: actions/download-artifact@v4
with:
path: build
merge-multiple: true
github-token: ${{ secrets.GITHUB_TOKEN }}
run-id: ${{ github.event.workflow_run.id }}
- name: Upload Windows release assets
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_name: micromissiles-${{ github.event.workflow_run.head_branch }}-windows_x86_64.zip
asset_path: build/build-StandaloneWindows64.zip
asset_content_type: application/zip
- name: Upload Darwin release assets
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_name: micromissiles-${{ github.event.workflow_run.head_branch }}-darwin.tar.gz
asset_path: build/build-StandaloneOSX.tar.gz
asset_content_type: application/gzip

View File

@ -10,16 +10,16 @@ You can find the latest release [here](https://github.com/PisterLab/micromissile
## Windows ## Windows
1. Download the zip file for Windows: `micromissiles-<version>-windows_x86_64.zip`.
2. Unzip the zip file. The zip file should contain a single directory called `micromissiles-<version>-windows_x86_64`.
3. In the `micromissiles-<version>-windows_x86_64` directory, run `micromissiles-<version>-StandaloneWindows64.exe`.
## Mac ## Mac
1. Download the zip file for Darwin: `micromissiles-<version>-darwin.zip`. 1. Download the tarball file for Darwin: `micromissiles-<version>-darwin.tar.gz`.
2. Unzip the zip file. The zip file should contain a single app file. 2. Untar the tarball. The tarball should contain a single directory called `micromissiles-<version>-darwin`.
3. Change the permission of the app file recursively by running: 3. In the `micromissiles-<version>-darwin` directory, run the app file.
```bash 4. If you get a warning that Apple cannot check the application for malicious software:
chmod -R +x micromissiles-<version>-StandaloneOSX.app
```
4. Open the app file.
5. If you get a warning that Apple cannot check the application for malicious software:
* Open `System Preferences`. * Open `System Preferences`.
* Navigate to `Privacy & Security`. * Navigate to `Privacy & Security`.
* Click on `Open Anyway` to bypass Apple's developer check. * Click on `Open Anyway` to bypass Apple's developer check.

19
RELEASE.md Normal file
View File

@ -0,0 +1,19 @@
# micromissiles-unity
## Instructions
Download and extract the archive corresponding to your platform (Windows or Mac) from the binaries listed below.
## Windows
1. Download the zip file for Windows.
2. Unzip the zip file and run the `.exe` file.
## Mac
1. Download the tarball for Darwin.
2. Untar the tarball and run the app file.
3. If you get a warning that Apple cannot check the application for malicious software:
* Open `System Preferences`.
* Navigate to `Privacy & Security`.
* Click on `Open Anyway` to bypass Apple's developer check.