mirror of
https://github.com/chickensoft-games/setup-godot.git
synced 2025-08-14 12:55:08 +00:00
fix: workflows (#30)
This commit is contained in:
parent
4c82caa6ee
commit
c61b59a7c8
36
.github/workflows/auto_release.yaml
vendored
Normal file
36
.github/workflows/auto_release.yaml
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
name: 📦 Release On Push
|
||||||
|
on:
|
||||||
|
workflow_run:
|
||||||
|
workflows: ["test"]
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
types:
|
||||||
|
- completed
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
bump_version_scheme:
|
||||||
|
description: 'Bump version scheme (major, minor, patch)'
|
||||||
|
required: true
|
||||||
|
default: 'minor'
|
||||||
|
type: choice
|
||||||
|
options:
|
||||||
|
- 'major'
|
||||||
|
- 'minor'
|
||||||
|
- 'patch'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release-on-push:
|
||||||
|
name: 📦 Release On Push
|
||||||
|
if: github.event.workflow_run.conclusion == 'success'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
# Use a personal access token with push access to the repo.
|
||||||
|
# If you don't, pushing a release and tag will not cause subsequent
|
||||||
|
# workflows to run, like the update_major_version workflow.
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GH_BASIC }}
|
||||||
|
steps:
|
||||||
|
- name: 📦 Release On Push
|
||||||
|
uses: rymndhng/release-on-push-action@master
|
||||||
|
with:
|
||||||
|
# Use bump version given to us or fall back to `minor`.
|
||||||
|
bump_version_scheme: ${{ github.event.inputs.bump_version_scheme || 'patch' }}
|
51
.github/workflows/check-dist.yml
vendored
51
.github/workflows/check-dist.yml
vendored
@ -1,51 +0,0 @@
|
|||||||
# `dist/index.js` is a special file in Actions.
|
|
||||||
# When you reference an action with `uses:` in a workflow,
|
|
||||||
# `index.js` is the code that will run.
|
|
||||||
# For our project, we generate this file through a build process from other source files.
|
|
||||||
# We need to make sure the checked-in `index.js` actually matches what we expect it to be.
|
|
||||||
name: Check dist/
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
paths-ignore:
|
|
||||||
- '**.md'
|
|
||||||
pull_request:
|
|
||||||
paths-ignore:
|
|
||||||
- '**.md'
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
check-dist:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Set Node.js 16.x
|
|
||||||
uses: actions/setup-node@v3.6.0
|
|
||||||
with:
|
|
||||||
node-version: 16.x
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
|
|
||||||
- name: Rebuild the dist/ directory
|
|
||||||
run: |
|
|
||||||
npm run build
|
|
||||||
npm run package
|
|
||||||
|
|
||||||
- name: Compare the expected and actual dist/ directories
|
|
||||||
run: |
|
|
||||||
if [ "$(git diff --ignore-all-space --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
|
|
||||||
echo "Detected uncommitted changes after build. See status below:"
|
|
||||||
git diff
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
id: diff
|
|
||||||
|
|
||||||
# If index.js was different than expected, upload the expected version as an artifact
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
|
|
||||||
with:
|
|
||||||
name: dist
|
|
||||||
path: dist/
|
|
18
.github/workflows/release_on_push.yaml
vendored
18
.github/workflows/release_on_push.yaml
vendored
@ -1,18 +0,0 @@
|
|||||||
name: 📦 Release On Push
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
# See CONTRIBUTING.md for more information on how this action works.
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
release-on-push:
|
|
||||||
name: 📦 Release On Push
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
steps:
|
|
||||||
- uses: rymndhng/release-on-push-action@master
|
|
||||||
with:
|
|
||||||
bump_version_scheme: minor
|
|
70
.github/workflows/test.yml
vendored
70
.github/workflows/test.yml
vendored
@ -1,11 +1,23 @@
|
|||||||
name: 'build-test'
|
name: 'test'
|
||||||
on: # rebuild any PRs and main branch changes
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
tags-ignore:
|
||||||
|
- '**'
|
||||||
push:
|
push:
|
||||||
|
branches:
|
||||||
|
- '**'
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
tags-ignore:
|
||||||
|
- '**'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
tests:
|
tests:
|
||||||
name: 🧪 Test on ${{ matrix.os }}, .NET=${{ matrix.use-dotnet }}
|
name: 🧪 Test on ${{ matrix.os }}, .NET=${{ matrix.use-dotnet }}
|
||||||
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
# Don't cancel other OS runners if one fails.
|
# Don't cancel other OS runners if one fails.
|
||||||
@ -47,3 +59,57 @@ jobs:
|
|||||||
- name: 🔬 Verify Godot
|
- name: 🔬 Verify Godot
|
||||||
run: |
|
run: |
|
||||||
godot --version
|
godot --version
|
||||||
|
|
||||||
|
test-global-json:
|
||||||
|
name: 🌐 Test with version from global.json
|
||||||
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
name: 🧾 Checkout
|
||||||
|
|
||||||
|
- uses: ./
|
||||||
|
name: 🤖 Setup Godot
|
||||||
|
with:
|
||||||
|
version: global.json # Use the version specified in global.json
|
||||||
|
use-dotnet: false
|
||||||
|
|
||||||
|
- name: 🔬 Verify Godot
|
||||||
|
run: |
|
||||||
|
godot --version
|
||||||
|
|
||||||
|
check-dist:
|
||||||
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set Node.js 16.x
|
||||||
|
uses: actions/setup-node@v3.6.0
|
||||||
|
with:
|
||||||
|
node-version: 16.x
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Rebuild the dist/ directory
|
||||||
|
run: |
|
||||||
|
npm run build
|
||||||
|
npm run package
|
||||||
|
|
||||||
|
- name: Compare the expected and actual dist/ directories
|
||||||
|
run: |
|
||||||
|
if [ "$(git diff --ignore-all-space --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
|
||||||
|
echo "Detected uncommitted changes after build. See status below:"
|
||||||
|
git diff
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
id: diff
|
||||||
|
|
||||||
|
# If index.js was different than expected, upload the expected version as an artifact
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
|
||||||
|
with:
|
||||||
|
name: dist
|
||||||
|
path: dist/
|
||||||
|
22
.github/workflows/test_global_json.yml
vendored
22
.github/workflows/test_global_json.yml
vendored
@ -1,22 +0,0 @@
|
|||||||
name: 'build-test-global-json'
|
|
||||||
on: # rebuild any PRs and main branch changes
|
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
tests:
|
|
||||||
name: 🌐 Test with version from global.json
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
name: 🧾 Checkout
|
|
||||||
|
|
||||||
- uses: ./
|
|
||||||
name: 🤖 Setup Godot
|
|
||||||
with:
|
|
||||||
version: global.json # Use the version specified in global.json
|
|
||||||
use-dotnet: false
|
|
||||||
|
|
||||||
- name: 🔬 Verify Godot
|
|
||||||
run: |
|
|
||||||
godot --version
|
|
13
.github/workflows/update_major_version.yaml
vendored
Normal file
13
.github/workflows/update_major_version.yaml
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
name: 💥 Update Major Version Tag
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "v*"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-majorver:
|
||||||
|
name: 💥 Update Major Version Tag
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: nowactions/update-majorver@v1
|
@ -2,9 +2,11 @@
|
|||||||
"words": [
|
"words": [
|
||||||
"Chickensoft",
|
"Chickensoft",
|
||||||
"godotsharp",
|
"godotsharp",
|
||||||
|
"majorver",
|
||||||
"msbuild",
|
"msbuild",
|
||||||
"NOLOGO",
|
"NOLOGO",
|
||||||
"norelease",
|
"norelease",
|
||||||
|
"nowactions",
|
||||||
"OPTOUT",
|
"OPTOUT",
|
||||||
"rymndhng"
|
"rymndhng"
|
||||||
]
|
]
|
||||||
|
2
dist/index.js
generated
vendored
2
dist/index.js
generated
vendored
@ -70,7 +70,7 @@ function run(platform) {
|
|||||||
core.info(`📁 Checkout directory: ${checkoutDirectory}`);
|
core.info(`📁 Checkout directory: ${checkoutDirectory}`);
|
||||||
// See if Godot version needs to be inferred from a global.json file.
|
// See if Godot version needs to be inferred from a global.json file.
|
||||||
if (version.toLowerCase().includes('global')) {
|
if (version.toLowerCase().includes('global')) {
|
||||||
const globalJsonPath = path_1.default.join(checkoutDirectory, 'global.json');
|
const globalJsonPath = path_1.default.join(checkoutDirectory, version);
|
||||||
const hasGlobalJsonFile = fs.existsSync(globalJsonPath);
|
const hasGlobalJsonFile = fs.existsSync(globalJsonPath);
|
||||||
core.info(`📢 Inferring Godot version from global.json file.`);
|
core.info(`📢 Inferring Godot version from global.json file.`);
|
||||||
core.info(`🌐 global.json file path: ${globalJsonPath}`);
|
core.info(`🌐 global.json file path: ${globalJsonPath}`);
|
||||||
|
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
@ -36,7 +36,7 @@ async function run(platform: Platform): Promise<void> {
|
|||||||
|
|
||||||
// See if Godot version needs to be inferred from a global.json file.
|
// See if Godot version needs to be inferred from a global.json file.
|
||||||
if (version.toLowerCase().includes('global')) {
|
if (version.toLowerCase().includes('global')) {
|
||||||
const globalJsonPath = path.join(checkoutDirectory, 'global.json')
|
const globalJsonPath = path.join(checkoutDirectory, version)
|
||||||
const hasGlobalJsonFile = fs.existsSync(globalJsonPath)
|
const hasGlobalJsonFile = fs.existsSync(globalJsonPath)
|
||||||
core.info(`📢 Inferring Godot version from global.json file.`)
|
core.info(`📢 Inferring Godot version from global.json file.`)
|
||||||
core.info(`🌐 global.json file path: ${globalJsonPath}`)
|
core.info(`🌐 global.json file path: ${globalJsonPath}`)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user