diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 864bf289..cf18d952 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -177,34 +177,28 @@ jobs: aws s3 cp "${{ env.COVERAGE_OUTPUT_DIR }}/summary.json" "${s3FullURI}" --acl bucket-owner-full-control lint: - container: golangci/golangci-lint:v1.54.1 name: lint runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v3 - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Mark repo as safe directory - run: git config --global --add safe.directory /__w/pulumi-${{ env.PROVIDER }}/pulumi-${{ env.PROVIDER }} - - name: Unshallow clone for tags - run: git fetch --prune --unshallow --tags - name: Install Go uses: actions/setup-go@v4 with: cache-dependency-path: | sdk/go.sum go-version: 1.21.x - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.5.0 - with: - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/action-install-pulumi-cli@v2 - - run: make lint_provider + - name: disarm go:embed directives to enable lint + run: | + git grep -l 'go:embed' -- provider | xargs sed -i 's/go:embed/ goembed/g' + - name: prepare upstream + continue-on-error: true + run: make upstream + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: v1.54.1 + working-directory: provider - if: failure() && github.event_name == 'push' name: Notify Slack uses: 8398a7/action-slack@v3 diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 6a9effc3..026771c1 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -177,34 +177,28 @@ jobs: aws s3 cp "${{ env.COVERAGE_OUTPUT_DIR }}/summary.json" "${s3FullURI}" --acl bucket-owner-full-control lint: - container: golangci/golangci-lint:v1.54.1 name: lint runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v3 - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Mark repo as safe directory - run: git config --global --add safe.directory /__w/pulumi-${{ env.PROVIDER }}/pulumi-${{ env.PROVIDER }} - - name: Unshallow clone for tags - run: git fetch --prune --unshallow --tags - name: Install Go uses: actions/setup-go@v4 with: cache-dependency-path: | sdk/go.sum go-version: 1.21.x - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.5.0 - with: - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/action-install-pulumi-cli@v2 - - run: make lint_provider + - name: disarm go:embed directives to enable lint + run: | + git grep -l 'go:embed' -- provider | xargs sed -i 's/go:embed/ goembed/g' + - name: prepare upstream + continue-on-error: true + run: make upstream + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: v1.54.1 + working-directory: provider - if: failure() && github.event_name == 'push' name: Notify Slack uses: 8398a7/action-slack@v3 diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 4a6855de..25bd21c1 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -124,34 +124,28 @@ jobs: - go - java lint: - container: golangci/golangci-lint:v1.54.1 name: lint runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v3 - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Mark repo as safe directory - run: git config --global --add safe.directory /__w/pulumi-${{ env.PROVIDER }}/pulumi-${{ env.PROVIDER }} - - name: Unshallow clone for tags - run: git fetch --prune --unshallow --tags - name: Install Go uses: actions/setup-go@v4 with: cache-dependency-path: | sdk/go.sum go-version: 1.21.x - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.5.0 - with: - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/action-install-pulumi-cli@v2 - - run: make lint_provider + - name: disarm go:embed directives to enable lint + run: | + git grep -l 'go:embed' -- provider | xargs sed -i 's/go:embed/ goembed/g' + - name: prepare upstream + continue-on-error: true + run: make upstream + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: v1.54.1 + working-directory: provider - if: failure() && github.event_name == 'push' name: Notify Slack uses: 8398a7/action-slack@v3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fb6058fd..9e58dfc1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -137,34 +137,28 @@ jobs: run: pulumictl create docs-build pulumi-${{ env.PROVIDER }} "${GITHUB_REF#refs/tags/}" lint: - container: golangci/golangci-lint:v1.54.1 name: lint runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v3 - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Mark repo as safe directory - run: git config --global --add safe.directory /__w/pulumi-${{ env.PROVIDER }}/pulumi-${{ env.PROVIDER }} - - name: Unshallow clone for tags - run: git fetch --prune --unshallow --tags - name: Install Go uses: actions/setup-go@v4 with: cache-dependency-path: | sdk/go.sum go-version: 1.21.x - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.5.0 - with: - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/action-install-pulumi-cli@v2 - - run: make lint_provider + - name: disarm go:embed directives to enable lint + run: | + git grep -l 'go:embed' -- provider | xargs sed -i 's/go:embed/ goembed/g' + - name: prepare upstream + continue-on-error: true + run: make upstream + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: v1.54.1 + working-directory: provider - if: failure() && github.event_name == 'push' name: Notify Slack uses: 8398a7/action-slack@v3 diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml index 8d4ddede..86d0c635 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -144,7 +144,6 @@ jobs: repository: ${{ github.event.client_payload.github.payload.repository.full_name }} token: ${{ secrets.PULUMI_BOT_TOKEN }} lint: - container: golangci/golangci-lint:v1.54.1 if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository name: lint @@ -154,28 +153,24 @@ jobs: uses: actions/checkout@v3 with: ref: ${{ env.PR_COMMIT_SHA }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Mark repo as safe directory - run: git config --global --add safe.directory /__w/pulumi-${{ env.PROVIDER }}/pulumi-${{ env.PROVIDER }} - - name: Unshallow clone for tags - run: git fetch --prune --unshallow --tags - - name: Install Go + - name: disarm go:embed directives to enable lint + run: | + git grep -l 'go:embed' -- provider | xargs sed -i 's/go:embed/ goembed/g' + - name: prepare upstream + continue-on-error: true + run: make upstream + - name: Install go uses: actions/setup-go@v4 with: - cache-dependency-path: | - sdk/go.sum - go-version: 1.21.x - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.5.0 + # The versions of golangci-lint and setup-go here cross-depend and need to update together. + go-version: 1.21 + # Either this action or golangci-lint needs to disable the cache + cache: false + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 with: - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/action-install-pulumi-cli@v2 - - run: make lint_provider + version: v1.54.1 + working-directory: provider - if: failure() && github.event_name == 'push' name: Notify Slack uses: 8398a7/action-slack@v3