Use codegen directly in integration tests #369
Workflow file for this run
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
name: Besom build and test | |
on: | |
push: | |
branches: [ 'main', 'develop' ] | |
paths-ignore: | |
- '**.md' | |
- 'LICENSE' | |
- 'templates/**' | |
- 'examples/**' | |
- 'proto/**' | |
- 'experimental/**' | |
- 'website/**' | |
pull_request: | |
branches: [ 'main', 'develop' ] | |
types: [ 'opened', 'reopened', 'synchronize' ] | |
paths-ignore: | |
- '**.md' | |
- 'LICENSE' | |
- 'templates/**' | |
- 'examples/**' | |
- 'proto/**' | |
- 'experimental/**' | |
- 'website/**' | |
env: | |
PULUMI_CONFIG_PASSPHRASE: 'passphrase' | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
format: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: coursier/[email protected] | |
- uses: VirtusLab/[email protected] | |
- name: Scalafmt list | |
run: | | |
scala-cli fmt . -F --list --respect-project-filters || ( | |
echo "To format code run" | |
echo " scala-cli fmt ." | |
exit 0 | |
) | |
# we need: scala-cli, protoc, go, just, pulumi, java | |
build: | |
if: "! github.event.pull_request.head.repo.fork" | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: extractions/setup-just@v1 | |
with: | |
just-version: '1.14.0' # just for sanity | |
- uses: pulumi/actions@v4 | |
with: | |
pulumi-version: '3.89.0' | |
- uses: coursier/[email protected] | |
- uses: VirtusLab/[email protected] | |
with: | |
jvm: graalvm-java11:22.3.1 | |
apps: sbt | |
power: true | |
- uses: arduino/setup-protoc@v1 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: '1.20' | |
- name: Clean workspace | |
run: just clean-all | |
- name: Compile everything | |
run: just compile-all | |
- name: Test core SDK | |
run: just test-sdk | |
- name: Publish compiler plugin | |
run: just publish-local-compiler-plugin | |
- name: Test language plugin | |
run: just test-integration-language-plugin | |
- name: Cross-package language plugin | |
run: just package-language-plugins-all | |
- name: Install language plugin | |
run: just install-language-plugin | |
- name: Login in to pulumi | |
run: pulumi login --local | |
- name: Integration test for core SDK | |
run: just test-integration-core | |
- name: Integration test for Codegen | |
run: just test-integration-codegen | |
- name: Integration test for compiler plugin | |
run: just test-integration-compiler-plugin | |
- name: Publish local SDK | |
run: just publish-local-sdk | |
- name: Generate purrl provider | |
run: just generate-provider-sdk purrl 0.4.1 | |
- name: Publish purrl provider | |
run: just publish-local-provider-sdk purrl 0.4.1 | |
- name: Run purrl tests | |
uses: pulumi/actions@v4 | |
with: | |
command: up | |
work-dir: integration-tests/src/test/resources/purrl-example | |
stack-name: test | |
upsert: true | |
- name: Generate tls provider | |
run: just generate-provider-sdk tls 4.10.0 | |
- name: Publish tls provider | |
run: just publish-local-provider-sdk tls 4.10.0 | |
- name: Run tls tests | |
uses: pulumi/actions@v4 | |
with: | |
command: up | |
work-dir: integration-tests/src/test/resources/tls-example | |
stack-name: test | |
upsert: true |