Skip to content

Bump actions/download-artifact from 2.0.8 to 4.1.7 in /.github/workflows #42

Bump actions/download-artifact from 2.0.8 to 4.1.7 in /.github/workflows

Bump actions/download-artifact from 2.0.8 to 4.1.7 in /.github/workflows #42

Workflow file for this run

name: GameCI Build / Test 🎮
on:
pull_request: {}
push: { branches: [main] }
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
ITCH_USERNAME: mathewhd
ITCH_GAME_ID: unity-audio-manager
jobs:
checkLicense:
name: Check for the Unity license ☑️
runs-on: ubuntu-latest
steps:
- name: Fail - No license ☠️
if: ${{ !startsWith(env.UNITY_LICENSE, '<') }}
run: exit 1
testRunner:
needs: checkLicense
name: Test all modes 📝
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Create LFS file list
run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id
- name: Restore LFS cache
uses: actions/cache@v2
id: lfs-cache
with:
path: .git/lfs
key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }}
- name: Git LFS Pull
run: |
git lfs pull
git add .
git reset --hard
- name: Restore Library cache
uses: actions/cache@v2
with:
path: Example_Project/Library
key: Library-test-project
restore-keys: |
Library-test-project-
Library-
- name: Run tests and generate coverage XML report
id: testRunner
uses: game-ci/unity-test-runner@v2
with:
testMode: all
projectPath: Example_Project/
customParameters: -debugCodeOptimization -enableCodeCoverage -coverageResultsPath ./CodeCoverage -coverageOptions generateAdditionalMetrics;generateHtmlReport;generateHtmlReportHistory;generateBadgeReport; pathFilters:+**/Scripts/AudioManager/**,-**/Scripts/AudioManager/Settings/ShowIfAttributeDrawer.cs
- name: Publish coverage XML report to Codecov
uses: codecov/codecov-action@v2
with:
name: All modes
flags: unittest
files: CodeCoverage/**/*.xml
fail_ci_if_error: true
- uses: actions/upload-artifact@v2
with:
name: Test results (all modes)
path: ${{ steps.testRunner.outputs.artifactsPath }}
buildWebGL:
needs: testRunner
name: Build for WebGL 🖥️
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Create LFS file list
run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id
- name: Restore LFS cache
uses: actions/cache@v2
id: lfs-cache
with:
path: .git/lfs
key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }}
- name: Git LFS Pull
run: |
git lfs pull
git add .
git reset --hard
- name: Restore Library cache
uses: actions/cache@v2
with:
path: Example_Project/Library
key: Library-build-WebGL
restore-keys: |
Library-build-
Library-
- uses: webbertakken/unity-builder@v2
with:
targetPlatform: WebGL
projectPath: Example_Project/
- uses: actions/upload-artifact@v2
with:
name: build-WebGL
path: build/WebGL
buildWindows:
needs: testRunner
name: Build for Windows 🖥️
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Create LFS file list
run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id
- name: Restore LFS cache
uses: actions/cache@v2
id: lfs-cache
with:
path: .git/lfs
key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }}
- name: Git LFS Pull
run: |
git lfs pull
git add .
git reset --hard
- name: Restore Library cache
uses: actions/cache@v2
with:
path: Example_Project/Library
key: Library-build-StandaloneWindows64
restore-keys: |
Library-build-
Library-
- uses: webbertakken/unity-builder@v2
with:
targetPlatform: StandaloneWindows64
projectPath: Example_Project/
- uses: actions/upload-artifact@v2
with:
name: build-StandaloneWindows64
path: build/StandaloneWindows64
buildAndroid:
needs: testRunner
name: Build for Android 📱
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Create LFS file list
run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id
- name: Restore LFS cache
uses: actions/cache@v2
id: lfs-cache
with:
path: .git/lfs
key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }}
- name: Git LFS Pull
run: |
git lfs pull
git add .
git reset --hard
- name: Restore Library cache
uses: actions/cache@v2
with:
path: Example_Project/Library
key: Library-build-Android
restore-keys: |
Library-build-
Library-
- uses: webbertakken/unity-builder@v2
with:
targetPlatform: Android
projectPath: Example_Project/
- uses: actions/upload-artifact@v2
with:
name: build-Android
path: build/Android
deployWindows:
needs: buildWindows
name: Deploy Windows to Itch.io 🚀
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get the latest tag 🏷️
uses: actions-ecosystem/action-get-latest-tag@v1
id: get-latest-tag
with:
semver_only: true
- name: Download build
uses: actions/download-artifact@v4.1.7
with:
name: build-StandaloneWindows64
path: build/StandaloneWindows64
- name: Deploy build
uses: KikimoraGames/itch-publish@v0.0.3
with:
butlerApiKey: ${{ secrets.BUTLER_API_KEY }}
gameData: ./build/
itchUsername: ${{ env.ITCH_USERNAME }}
itchGameId: ${{ env.ITCH_GAME_ID }}
buildChannel: windows
buildNumber: ${{ steps.get-latest-tag.outputs.tag }}
deployWebGL:
needs: buildWebGL
name: Deploy WebGL to Itch.io 🚀
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get the latest tag 🏷️
uses: actions-ecosystem/action-get-latest-tag@v1
id: get-latest-tag
with:
semver_only: true
- name: Download build
uses: actions/download-artifact@v4.1.7
with:
name: build-WebGL
path: build/WebGL
- name: Deploy build
uses: KikimoraGames/itch-publish@v0.0.3
with:
butlerApiKey: ${{ secrets.BUTLER_API_KEY }}
gameData: ./build/
itchUsername: ${{ env.ITCH_USERNAME }}
itchGameId: ${{ env.ITCH_GAME_ID }}
buildChannel: webgl
buildNumber: ${{ steps.get-latest-tag.outputs.tag }}
deployAndroid:
needs: buildAndroid
name: Deploy Android to Itch.io 🚀
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get the latest tag 🏷️
uses: actions-ecosystem/action-get-latest-tag@v1
id: get-latest-tag
with:
semver_only: true
- name: Download build
uses: actions/download-artifact@v4.1.7
with:
name: build-Android
path: build/Android
- name: Deploy build
uses: KikimoraGames/itch-publish@v0.0.3
with:
butlerApiKey: ${{ secrets.BUTLER_API_KEY }}
gameData: ./build/
itchUsername: ${{ env.ITCH_USERNAME }}
itchGameId: ${{ env.ITCH_GAME_ID }}
buildChannel: android
buildNumber: ${{ steps.get-latest-tag.outputs.tag }}