diff --git a/.github/workflows/build-debug.yml b/.github/workflows/build-debug.yml
index c722673..9dc6346 100644
--- a/.github/workflows/build-debug.yml
+++ b/.github/workflows/build-debug.yml
@@ -4,8 +4,6 @@ on:
push:
branches:
- "master"
- tags:
- - "!*" # not a tag push
pull_request:
branches:
- "master"
@@ -13,13 +11,16 @@ on:
jobs:
build-dotnet:
runs-on: ubuntu-latest
- env:
- DOTNET_CLI_TELEMETRY_OPTOUT: 1
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
- NUGET_XMLDOC_MODE: skip
+ timeout-minutes: 10
steps:
- - uses: actions/checkout@v2
- - run: dotnet test -c Debug ./src/UniTask.NetCoreTests/UniTask.NetCoreTests.csproj
+ - uses: actions/checkout@v3
+ - uses: Cysharp/Actions/.github/actions/setup-dotnet@main
+ with:
+ dotnet-version: |
+ 3.1.x
+ 6.0.x
+ - run: dotnet build -c Debug
+ - run: dotnet test -c Debug
build-unity:
if: "((github.event_name == 'push' && github.repository_owner == 'Cysharp') || startsWith(github.event.pull_request.head.label, 'Cysharp:'))"
@@ -34,12 +35,13 @@ jobs:
- unity: 2020.1.12f1
license: UNITY_LICENSE_2020
runs-on: ubuntu-latest
+ timeout-minutes: 15
steps:
- uses: actions/checkout@v2
# Execute scripts: RuntimeUnitTestToolkit
# /opt/Unity/Editor/Unity -quit -batchmode -nographics -silent-crashes -logFile -projectPath . -executeMethod UnitTestBuilder.BuildUnitTest /headless /ScriptBackend mono /BuildTarget StandaloneLinux64
- name: Build UnitTest(Linux64, mono)
- uses: game-ci/unity-builder@v2.0-alpha-6
+ uses: game-ci/unity-builder@v2
env:
UNITY_LICENSE: ${{ secrets[matrix.license] }}
with:
@@ -55,7 +57,7 @@ jobs:
# Execute scripts: Export Package
# /opt/Unity/Editor/Unity -quit -batchmode -nographics -silent-crashes -logFile -projectPath . -executeMethod PackageExporter.Export
- name: Export unitypackage
- uses: game-ci/unity-builder@v2.0-alpha-6
+ uses: game-ci/unity-builder@v2
env:
UNITY_LICENSE: ${{ secrets[matrix.license] }}
with:
@@ -65,15 +67,9 @@ jobs:
buildMethod: PackageExporter.Export
versioning: None
- - name: check all .meta is commited
- run: |
- if git ls-files --others --exclude-standard -t | grep --regexp='[.]meta$'; then
- echo "Detected .meta file generated. Do you forgot commit a .meta file?"
- exit 1
- else
- echo "Great, all .meta files are commited."
- fi
- working-directory: src/UniTask
+ - uses: Cysharp/Actions/.github/actions/check-metas@main # check meta files
+ with:
+ directory: src/UniTask
# Store artifacts.
- uses: actions/upload-artifact@v2
diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml
index 4cc7e96..a6e8eb0 100644
--- a/.github/workflows/build-docs.yml
+++ b/.github/workflows/build-docs.yml
@@ -9,6 +9,7 @@ on:
jobs:
run-docfx:
runs-on: ubuntu-latest
+ timeout-minutes: 10
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2
diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml
index 1f9c40f..82c6c21 100644
--- a/.github/workflows/build-release.yml
+++ b/.github/workflows/build-release.yml
@@ -6,90 +6,44 @@ on:
tag:
description: "tag: git tag you want create. (sample 1.0.0)"
required: true
- dry_run:
- description: "dry_run: true will never create relase/nuget."
+ dry-run:
+ description: "dry-run: true will never create relase/nuget."
required: true
- default: "false"
+ default: false
+ type: boolean
env:
GIT_TAG: ${{ github.event.inputs.tag }}
- DRY_RUN: ${{ github.event.inputs.dry_run }}
- DRY_RUN_BRANCH_PREFIX: "test_release"
+ DRY_RUN: ${{ github.event.inputs.dry-run }}
jobs:
update-packagejson:
- runs-on: ubuntu-latest
- env:
- TARGET_FILE: ./src/UniTask/Assets/Plugins/UniTask/package.json
- outputs:
- sha: ${{ steps.commit.outputs.sha }}
- steps:
- - uses: actions/checkout@v2
- - name: Output package.json (Before)
- run: cat ${{ env.TARGET_FILE}}
-
- - name: Update package.json to version ${{ env.GIT_TAG }}
- run: sed -i -e "s/\(\"version\":\) \"\(.*\)\",/\1 \"${{ env.GIT_TAG }}\",/" ${{ env.TARGET_FILE }}
-
- - name: Check update
- id: check_update
- run: |
- cat ${{ env.TARGET_FILE}}
- git diff --exit-code || echo "::set-output name=changed::1"
-
- - name: Commit files
- id: commit
- if: steps.check_update.outputs.changed == '1'
- run: |
- git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
- git config --local user.name "github-actions[bot]"
- git commit -m "feat: Update package.json to ${{ env.GIT_TAG }}" -a
- echo "::set-output name=sha::$(git rev-parse HEAD)"
-
- - name: Check sha
- run: echo "SHA ${SHA}"
- env:
- SHA: ${{ steps.commit.outputs.sha }}
-
- - name: Create Tag
- if: steps.check_update.outputs.changed == '1'
- run: git tag ${{ env.GIT_TAG }}
-
- - name: Push changes
- if: env.DRY_RUN == 'false' && steps.check_update.outputs.changed == '1'
- uses: ad-m/github-push-action@master
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- branch: ${{ github.ref }}
- tags: true
-
- - name: Push changes (dry_run)
- if: env.DRY_RUN == 'true' && steps.check_update.outputs.changed == '1'
- uses: ad-m/github-push-action@master
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- branch: ${{ env.DRY_RUN_BRANCH_PREFIX }}-${{ env.GIT_TAG }}
- tags: false
+ uses: Cysharp/Actions/.github/workflows/update-packagejson.yaml@main
+ with:
+ file-path: ./src/UniTask/Assets/Plugins/UniTask/package.json
+ tag: ${{ github.event.inputs.tag }}
+ dry-run: ${{ fromJson(github.event.inputs.dry-run) }}
build-dotnet:
needs: [update-packagejson]
runs-on: ubuntu-latest
timeout-minutes: 10
- env:
- DOTNET_CLI_TELEMETRY_OPTOUT: 1
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
- NUGET_XMLDOC_MODE: skip
steps:
- run: echo ${{ needs.update-packagejson.outputs.sha }}
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
ref: ${{ needs.update-packagejson.outputs.sha }}
+ - uses: Cysharp/Actions/.github/actions/setup-dotnet@main
+ with:
+ dotnet-version: |
+ 3.1.x
+ 6.0.x
# build and pack
- run: dotnet build -c Release -p:Version=${{ env.GIT_TAG }}
- run: dotnet test -c Release --no-build
- run: dotnet pack ./src/UniTask.NetCore/UniTask.NetCore.csproj -c Release --no-build -p:Version=${{ env.GIT_TAG }} -o ./publish
# Store artifacts.
- - uses: actions/upload-artifact@v1
+ - uses: actions/upload-artifact@v2
with:
name: nuget
path: ./publish/
@@ -112,7 +66,7 @@ jobs:
# Execute scripts: Export Package
# /opt/Unity/Editor/Unity -quit -batchmode -nographics -silent-crashes -logFile -projectPath . -executeMethod PackageExporter.Export
- name: Export unitypackage
- uses: game-ci/unity-builder@v2.0-alpha-6
+ uses: game-ci/unity-builder@v2
env:
UNITY_LICENSE: ${{ secrets[matrix.license] }}
with:
@@ -122,15 +76,9 @@ jobs:
buildMethod: PackageExporter.Export
versioning: None
- - name: check all .meta is commited
- run: |
- if git ls-files --others --exclude-standard -t | grep --regexp='[.]meta$'; then
- echo "Detected .meta file generated. Do you forgot commit a .meta file?"
- exit 1
- else
- echo "Great, all .meta files are commited."
- fi
- working-directory: src/UniTask
+ - uses: Cysharp/Actions/.github/actions/check-metas@main # check meta files
+ with:
+ directory: src/UniTask
# Store artifacts.
- uses: actions/upload-artifact@v2
@@ -139,14 +87,12 @@ jobs:
path: ./src/UniTask/UniTask.${{ env.GIT_TAG }}.unitypackage
create-release:
- if: github.event.inputs.dry_run == 'false'
+ if: github.event.inputs.dry-run == 'false'
needs: [update-packagejson, build-dotnet, build-unity]
runs-on: ubuntu-latest
- env:
- DOTNET_CLI_TELEMETRY_OPTOUT: 1
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
- NUGET_XMLDOC_MODE: skip
+ timeout-minutes: 10
steps:
+ - uses: Cysharp/Actions/.github/actions/setup-dotnet@main
# Create Releases
- uses: actions/create-release@v1
id: create_release
@@ -173,12 +119,8 @@ jobs:
asset_content_type: application/octet-stream
cleanup:
- if: github.event.inputs.dry_run == 'true'
- needs: [build-dotnet, build-unity]
- runs-on: ubuntu-latest
- steps:
- - name: Delete branch
- uses: dawidd6/action-delete-branch@v3
- with:
- github_token: ${{ github.token }}
- branches: ${{ env.DRY_RUN_BRANCH_PREFIX }}-${{ env.GIT_TAG }}
+ if: needs.update-packagejson.outputs.is-branch-created == 'true'
+ needs: [update-packagejson, build-dotnet, build-unity]
+ uses: Cysharp/Actions/.github/workflows/clean-packagejson-branch.yaml@main
+ with:
+ branch: ${{ needs.update-packagejson.outputs.branch-name }}
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index 70c3a28..b480c3e 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -1,24 +1,10 @@
name: "Close stale issues"
on:
+ workflow_dispatch:
schedule:
- cron: "0 0 * * *"
jobs:
stale:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/stale@v3
- with:
- repo-token: ${{ secrets.GITHUB_TOKEN }}
- # enable issue
- stale-issue-message: "This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 7 days."
- stale-issue-label: "stale"
- # enable pr
- stale-pr-message: "This PR is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 7 days."
- stale-pr-label: "stale"
- days-before-stale: 90
- days-before-close: 7
- exempt-issue-labels: "wip"
- exempt-pr-labels: "wip"
- remove-stale-when-updated: true
+ uses: Cysharp/Actions/.github/workflows/stale-issue.yaml@main
diff --git a/src/UniTask.NetCore/UniTask.NetCore.csproj b/src/UniTask.NetCore/UniTask.NetCore.csproj
index 6b6d81e..1f93aa9 100644
--- a/src/UniTask.NetCore/UniTask.NetCore.csproj
+++ b/src/UniTask.NetCore/UniTask.NetCore.csproj
@@ -23,6 +23,7 @@
Icon.png
true
opensource.snk
+ true
diff --git a/src/UniTask.NetCoreSandbox/UniTask.NetCoreSandbox.csproj b/src/UniTask.NetCoreSandbox/UniTask.NetCoreSandbox.csproj
index cc33684..369f7ee 100644
--- a/src/UniTask.NetCoreSandbox/UniTask.NetCoreSandbox.csproj
+++ b/src/UniTask.NetCoreSandbox/UniTask.NetCoreSandbox.csproj
@@ -4,6 +4,7 @@
Exe
netcoreapp3.1
NetCoreSandbox
+ false