-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update versions and deploy to cloudsmith (#257)
Closes #235
- Loading branch information
1 parent
af914c2
commit ea5cfb1
Showing
3 changed files
with
122 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -33,19 +33,20 @@ jobs: | |
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
- uses: extractions/setup-just@v2 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- uses: cargo-bins/cargo-binstall@main | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Install requirements | ||
run: just install-requirements | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Pull required docker images | ||
if: runner.os == 'Linux' | ||
run: | | ||
docker pull public.ecr.aws/ubuntu/ubuntu:latest | ||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
workspaces: | | ||
./ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/ | ||
- uses: actions/setup-go@v5 | ||
with: | ||
go-version: '^1.22.0' | ||
|
@@ -61,18 +62,19 @@ jobs: | |
if: runner.os == 'macOS' | ||
- run: pulumi version | ||
- run: pulumi login --local | ||
- uses: extractions/setup-just@v2 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- uses: cargo-bins/cargo-binstall@main | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
shared-key: build | ||
workspaces: | | ||
./ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/ | ||
- name: Regenerate provider list | ||
run: just regenerate-provider-list | ||
- name: Install requirements | ||
run: just install-requirements | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Check | ||
run: just check | ||
- name: Build | ||
|
@@ -83,51 +85,116 @@ jobs: | |
run: just test | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
RUST_BACKTRACE: "full" | ||
- name: Ensure no files have changed | ||
run: git diff --exit-code | ||
|
||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: "timings_${{ runner.os }}" | ||
path: | | ||
target/cargo-timings/cargo-timing-*.html | ||
pulumi_wasm_generator_lib/tests/**/target/cargo-timings/cargo-timing-*.html | ||
- name: Ensure no files have changed | ||
run: git diff --exit-code | ||
- uses: benjlevesque/[email protected] | ||
id: short-sha | ||
with: | ||
length: 7 | ||
- name: Package language plugin | ||
if: runner.os == 'Linux' | ||
run: just package-language-plugin "0.0.0-${{ steps.short-sha.outputs.sha }}" | ||
- uses: actions/upload-artifact@v4 | ||
if: runner.os == 'Linux' | ||
with: | ||
name: wasm_artefacts | ||
if-no-files-found: error | ||
path: | | ||
pulumi_wasm_generator_lib/**/pulumi_providers/**/wasm32-wasip1/debug/*_provider.wasm | ||
target/wasm32-wasip1/debug/pulumi_wasm.wasm | ||
pulumi-language-wasm/*.tar.gz | ||
deploy: | ||
runs-on: ubuntu-latest | ||
needs: build | ||
if: success() && github.ref == 'refs/heads/main' | ||
env: | ||
RUST_BACKTRACE: "full" | ||
steps: | ||
- uses: actions/download-artifact@v4 | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
- uses: extractions/setup-just@v2 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- uses: cargo-bins/cargo-binstall@main | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Install requirements | ||
run: just install-requirements | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Pull required docker images | ||
if: runner.os == 'Linux' | ||
run: | | ||
docker pull public.ecr.aws/ubuntu/ubuntu:latest | ||
- uses: actions/setup-go@v5 | ||
with: | ||
go-version: '^1.22.0' | ||
cache-dependency-path: "**/go.sum" | ||
- run: go version | ||
- name: Install Protoc | ||
uses: arduino/setup-protoc@v3 | ||
with: | ||
version: "25.3" | ||
repo-token: ${{ secrets.GITHUB_TOKEN }} | ||
- run: protoc --version | ||
- run: brew install pulumi | ||
if: runner.os == 'macOS' | ||
- run: pulumi version | ||
- run: pulumi login --local | ||
|
||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
name: wasm_artefacts | ||
path: artefacts | ||
shared-key: build | ||
save-if: false | ||
workspaces: | | ||
./ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/ | ||
pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/ | ||
- uses: benjlevesque/[email protected] | ||
id: short-sha | ||
with: | ||
length: 7 | ||
- name: Replace version | ||
run: just update-version "0.0.0-NIGHTLY-${{ steps.short-sha.outputs.sha }}" | ||
|
||
|
||
- name: Build | ||
run: just build | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Test | ||
run: just test | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
|
||
- name: Create commit | ||
run: | | ||
git config --local user.name "GitHub Actions" | ||
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" | ||
git add -A | ||
git commit -m "Release v0.0.0-NIGHTLY-${{ steps.short-sha.outputs.sha }}" | ||
git tag "v0.0.0-NIGHTLY-${{ steps.short-sha.outputs.sha }}" | ||
git push origin "v0.0.0-NIGHTLY-${{ steps.short-sha.outputs.sha }}" | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: "timings2_${{ runner.os }}" | ||
path: | | ||
target/cargo-timings/cargo-timing-*.html | ||
pulumi_wasm_generator_lib/tests/**/target/cargo-timings/cargo-timing-*.html | ||
- name: Package language plugin | ||
if: runner.os == 'Linux' | ||
run: just package-language-plugin "0.0.0-NIGHTLY-${{ steps.short-sha.outputs.sha }}" | ||
- name: Publish to registry | ||
run: just publish | ||
env: | ||
CARGO_REGISTRIES_CLOUDSMITH_TOKEN: ${{ secrets.CLOUDSMITH_API_KEY }} | ||
- name: Release | ||
uses: softprops/[email protected] | ||
with: | ||
name: 0.0.0-DEV-${{ steps.short-sha.outputs.sha }} | ||
tag_name: v0.0.0-DEV-${{ steps.short-sha.outputs.sha }} | ||
name: 0.0.0-NIGHTLY-${{ steps.short-sha.outputs.sha }} | ||
tag_name: v0.0.0-NIGHTLY-${{ steps.short-sha.outputs.sha }} | ||
fail_on_unmatched_files: true | ||
prerelease: true | ||
body: "" | ||
files: | | ||
artefacts/**/* | ||
pulumi_wasm_generator_lib/**/pulumi_providers/**/wasm32-wasip1/debug/*_provider.wasm | ||
target/wasm32-wasip1/debug/pulumi_wasm.wasm | ||
pulumi-language-wasm/*.tar.gz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters