diff --git a/.github/workflows/builder.yaml b/.github/workflows/build.yaml similarity index 52% rename from .github/workflows/builder.yaml rename to .github/workflows/build.yaml index e3c61903..f66cc3df 100644 --- a/.github/workflows/builder.yaml +++ b/.github/workflows/build.yaml @@ -1,12 +1,14 @@ -name: Build project +name: Build on: - push: - branches: - - release - pull_request: - branches: - - release + push: + branches: + - release + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' + pull_request: + branches: + - release jobs: buildForAllSupportedPlatforms: @@ -36,13 +38,20 @@ jobs: UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} with: - buildName: micromissiles-${{ github.run_number }}-${{ matrix.targetPlatform }} + buildName: micromissiles-${{ github.ref_name }}-${{ matrix.targetPlatform }} versioning: Semantic targetPlatform: ${{ matrix.targetPlatform }} - - name: Make build output readable and executable - run: | - sudo chmod -R +rx build/${{ matrix.targetPlatform }} - - uses: actions/upload-artifact@v3 + - if: matrix.targetPlatform == 'StandaloneWindows64' + run: cd build/${{ matrix.targetPlatform }} && sudo zip -r ../build-${{ matrix.targetPlatform }}.zip * && cd - + - if: matrix.targetPlatform == 'StandaloneWindows64' + uses: actions/upload-artifact@v4 with: name: Build-${{ matrix.targetPlatform }} - path: build/${{ matrix.targetPlatform }} \ No newline at end of file + 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 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 00000000..242821c0 --- /dev/null +++ b/.github/workflows/release.yaml @@ -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 diff --git a/README.md b/README.md index ba0798ce..c44724ae 100644 --- a/README.md +++ b/README.md @@ -10,16 +10,16 @@ You can find the latest release [here](https://github.com/PisterLab/micromissile ## Windows +1. Download the zip file for Windows: `micromissiles--windows_x86_64.zip`. +2. Unzip the zip file. The zip file should contain a single directory called `micromissiles--windows_x86_64`. +3. In the `micromissiles--windows_x86_64` directory, run `micromissiles--StandaloneWindows64.exe`. + ## Mac -1. Download the zip file for Darwin: `micromissiles--darwin.zip`. -2. Unzip the zip file. The zip file should contain a single app file. -3. Change the permission of the app file recursively by running: - ```bash - chmod -R +x micromissiles--StandaloneOSX.app - ``` -4. Open the app file. -5. If you get a warning that Apple cannot check the application for malicious software: +1. Download the tarball file for Darwin: `micromissiles--darwin.tar.gz`. +2. Untar the tarball. The tarball should contain a single directory called `micromissiles--darwin`. +3. In the `micromissiles--darwin` directory, run the app file. +4. 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. diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 00000000..ec3e4635 --- /dev/null +++ b/RELEASE.md @@ -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.