mirror of
				https://github.com/chickensoft-games/setup-godot.git
				synced 2025-10-31 15:13:57 +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