add nightly, with versioning
This commit is contained in:
		
							parent
							
								
									3f5e49662f
								
							
						
					
					
						commit
						f7106d0904
					
				
					 2 changed files with 82 additions and 0 deletions
				
			
		|  | @ -31,6 +31,7 @@ jobs: | |||
|           file="$(curl -Osw '%{filename_effective}' "$(curl -s https://machengine.org/zig/index.json |jq -r '."'${ZIG_VERSION}'"."x86_64-linux".tarball')")" | ||||
|           tar x -C /usr/local -f "${file}" | ||||
|           ln -s /usr/local/"${file%%.tar.xz}"/zig /usr/local/bin/zig | ||||
|           zig version | ||||
|       - name: Run tests | ||||
|         run: zig build test --verbose | ||||
|       - name: Build example | ||||
|  |  | |||
							
								
								
									
										81
									
								
								.gitea/workflows/zig-nightly.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								.gitea/workflows/zig-nightly.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,81 @@ | |||
| name: AWS-Zig Build | ||||
| run-name: ${{ github.actor }} building AWS Zig SDK | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - 'zig-develop*' | ||||
| env: | ||||
|   ACTIONS_RUNTIME_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|   ACTIONS_RUNTIME_URL: ${{ env.GITHUB_SERVER_URL }}/api/actions_pipeline/ | ||||
| jobs: | ||||
|   build-zig-nightly: | ||||
|     runs-on: ubuntu-latest | ||||
|     # Need to use the default container with node and all that, so we can | ||||
|     # use JS-based actions like actions/checkout@v3... | ||||
|     # container: | ||||
|     #   image: alpine:3.15.0 | ||||
|     env: | ||||
|       ZIG_VERSION: master | ||||
|       ARCH: x86_64 | ||||
|     steps: | ||||
|       - name: Check out repository code | ||||
|         uses: actions/checkout@v3 | ||||
|       # ARCH is fine, but we can't substitute directly because zig | ||||
|       # uses x86_64 instead of amd64. They also use aarch64 instead of arm64. | ||||
|       # | ||||
|       # However, arm64/linux isn't quite fully tier 1 yet, so this is more of a | ||||
|       # TODO: https://github.com/ziglang/zig/issues/2443 | ||||
|       - name: Install zig | ||||
|         run: | | ||||
|           apt-get update && apt-get install -y jq | ||||
|           file="$(curl -Osw '%{filename_effective}' "$(curl -s https://ziglang.org/download/index.json |jq -r '."'${ZIG_VERSION}'"."x86_64-linux".tarball')")" | ||||
|           tar x -C /usr/local -f "${file}" | ||||
|           ln -s /usr/local/"${file%%.tar.xz}"/zig /usr/local/bin/zig | ||||
|           zig version | ||||
|       - name: Run tests | ||||
|         run: zig build test --verbose | ||||
|       - name: Build example | ||||
|         run: ( cd example && zig build ) # Make sure example builds | ||||
|       # Zig package manager expects everything to be inside a directory in the archive, | ||||
|       # which it then strips out on download. So we need to shove everything inside a directory | ||||
|       # the way GitHub/Gitea does for repo archives | ||||
|       # | ||||
|       # Also, zig tar process doesn't handle gnu format for long names, nor does it seam to | ||||
|       # handle posix long name semantics cleanly either. ustar works. This | ||||
|       # should be using git archive, but we need our generated code to be part of it | ||||
|       - name: Package source code with generated models | ||||
|         run: | | ||||
|           tar -czf ${{ runner.temp }}/${{ github.sha }}-with-models.tar.gz \ | ||||
|             --format ustar \ | ||||
|             --exclude 'zig-*' \ | ||||
|             --transform 's,^,${{ github.sha }}/,' * | ||||
|       # - name: Sign | ||||
|       #   id: sign | ||||
|       #   uses: https://git.lerch.org/lobo/action-hsm-sign@v1 | ||||
|       #   with: | ||||
|       #     pin: ${{ secrets.HSM_USER_PIN }} | ||||
|       #     files: ??? | ||||
|       #     public_key: 'https://emil.lerch.org/serverpublic.pem' | ||||
|       # - run: | | ||||
|       #     echo "Source 0 should be ./bar: ${{ steps.sign.outputs.SOURCE_0 }}" | ||||
|       # - run: | | ||||
|       #     echo "Signature 0 should be ./bar.sig: ${{ steps.sign.outputs.SIG_0 }}" | ||||
|       # - run: echo "URL of bar (0) is ${{ steps.sign.outputs.URL_0 }}" | ||||
|       # - run: | | ||||
|       #     echo "Source 1 should be ./foo: ${{ steps.sign.outputs.SOURCE_1 }}" | ||||
|       # - run: | | ||||
|       #     echo "Signature 1 should be ./foo.sig: ${{ steps.sign.outputs.SIG_1 }}" | ||||
|       # - run: echo "URL of foo (1) is ${{ steps.sign.outputs.URL_1 }}" | ||||
|       - name: Publish source code with generated models | ||||
|         run: | | ||||
|           curl --user ${{ github.actor }}:${{ secrets.PACKAGE_PUSH }} \ | ||||
|             --upload-file ${{ runner.temp }}/${{ github.sha }}-with-models.tar.gz \ | ||||
|             https://git.lerch.org/api/packages/lobo/generic/aws-sdk-with-models/${{ github.sha }}/${{ github.sha }}-with-models.tar.gz | ||||
|       - name: Notify | ||||
|         uses: https://git.lerch.org/lobo/action-notify-ntfy@v2 | ||||
|         if: always() | ||||
|         with: | ||||
|           host: ${{ secrets.NTFY_HOST }} | ||||
|           topic: ${{ secrets.NTFY_TOPIC }} | ||||
|           user: ${{ secrets.NTFY_USER }} | ||||
|           password: ${{ secrets.NTFY_PASSWORD }} | ||||
		Loading…
	
	Add table
		
		Reference in a new issue