From a3a263cd4e030d0a5ae4bd47392822bc6533a8c4 Mon Sep 17 00:00:00 2001 From: Sarah Roberts Date: Wed, 14 Jun 2023 18:08:05 -0700 Subject: [PATCH 1/3] CORE-1909: updated the golangci-lint action --- .github/workflows/golangci-lint.yml | 35 +++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index aca5d5c..d2af3ec 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -1,38 +1,55 @@ name: golangci-lint on: push: - tags: - - v* branches: - master - main pull_request: + +permissions: + contents: read + # Optional: allow read access to pull request. Use with `only-new-issues` option. + # pull-requests: read + jobs: golangci: name: lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version: '1.19' + cache: false - name: golangci-lint - uses: golangci/golangci-lint-action@v2 + uses: golangci/golangci-lint-action@v3 with: - # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version - version: latest + # Require: The version of golangci-lint to use. + # When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version. + # When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit. + version: v1.53 # Optional: working directory, useful for monorepos # working-directory: somedir # Optional: golangci-lint command line arguments. - args: --timeout 5m0s + # + # Note: by default the `.golangci.yml` file should be at the root of the repository. + # The location of the configuration file can be changed by using `--config=` + # args: --timeout=30m --config=/my/path/.golangci.yml --issues-exit-code=0 # Optional: show only new issues if it's a pull request. The default value is `false`. # only-new-issues: true - # Optional: if set to true then the action will use pre-installed Go. - # skip-go-installation: true + # Optional: if set to true then the all caching functionality will be complete disabled, + # takes precedence over all other caching options. + # skip-cache: true # Optional: if set to true then the action don't cache or restore ~/go/pkg. # skip-pkg-cache: true # Optional: if set to true then the action don't cache or restore ~/.cache/go-build. # skip-build-cache: true + + # Optional:The mode to install golangci-lint. It can be 'binary' or 'goinstall'. + # install-mode: "goinstall" From ae52fb4c426d3f902e61294cf802f3bfdbfd0401 Mon Sep 17 00:00:00 2001 From: Sarah Roberts Date: Wed, 14 Jun 2023 18:09:45 -0700 Subject: [PATCH 2/3] CORE-1909: added GitHub workflows to generate releases automatically --- .github/workflows/build-prerelease.yml | 36 ++++++++++++++++++++++++++ .github/workflows/build-release.yml | 35 +++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 .github/workflows/build-prerelease.yml create mode 100644 .github/workflows/build-release.yml diff --git a/.github/workflows/build-prerelease.yml b/.github/workflows/build-prerelease.yml new file mode 100644 index 0000000..f190a2c --- /dev/null +++ b/.github/workflows/build-prerelease.yml @@ -0,0 +1,36 @@ +name: skaffold-build-prerelease +on: + push: + tags: + - "v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+" + pull_request: +jobs: + pipeline: + name: Skaffold Docker build + runs-on: ubuntu-20.04 + steps: + - name: Checkout Repo + id: checkout + uses: actions/checkout@v3 + - name: Harbor Login + id: harbor_login + uses: docker/login-action@v2 + with: + registry: harbor.cyverse.org + username: ${{ secrets.HARBOR_USERNAME }} + password: ${{ secrets.HARBOR_PASSWORD }} + - name: Install Kubernetes Tools + id: install_k8s_tools + uses: yokawasa/action-setup-kube-tools@v0.9.2 + - name: Build Docker images + id: build + run: | + skaffold build --file-output build.json + - name: Build manifest tarball + id: build_manifest_tarball + run: | + tar -czpvf deploy-info.tar.gz build.json skaffold.yaml k8s + - uses: ncipollo/release-action@v1 + with: + artifacts: "build.json,deploy-info.tar.gz" + prerelease: true diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml new file mode 100644 index 0000000..121816e --- /dev/null +++ b/.github/workflows/build-release.yml @@ -0,0 +1,35 @@ +name: skaffold-build-release +on: + push: + tags: + - "v[0-9]+.[0-9]+.[0-9]+" + pull_request: +jobs: + pipeline: + name: Skaffold Docker build + runs-on: ubuntu-20.04 + steps: + - name: Checkout Repo + id: checkout + uses: actions/checkout@v3 + - name: Harbor Login + id: harbor_login + uses: docker/login-action@v2 + with: + registry: harbor.cyverse.org + username: ${{ secrets.HARBOR_USERNAME }} + password: ${{ secrets.HARBOR_PASSWORD }} + - name: Install Kubernetes Tools + id: install_k8s_tools + uses: yokawasa/action-setup-kube-tools@v0.9.2 + - name: Build Docker images + id: build + run: | + skaffold build --file-output build.json + - name: Build manifest tarball + id: build_manifest_tarball + run: | + tar -czpvf deploy-info.tar.gz build.json skaffold.yaml k8s + - uses: ncipollo/release-action@v1 + with: + artifacts: "build.json,deploy-info.tar.gz" From 33cb2ef763e9d5806846180471b9a2af30fb0704 Mon Sep 17 00:00:00 2001 From: Sarah Roberts Date: Wed, 14 Jun 2023 18:22:47 -0700 Subject: [PATCH 3/3] CORE-1909: avoid creating releases when a pull request is submitted --- .github/workflows/build-prerelease.yml | 1 - .github/workflows/build-release.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/build-prerelease.yml b/.github/workflows/build-prerelease.yml index f190a2c..8ba760d 100644 --- a/.github/workflows/build-prerelease.yml +++ b/.github/workflows/build-prerelease.yml @@ -3,7 +3,6 @@ on: push: tags: - "v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+" - pull_request: jobs: pipeline: name: Skaffold Docker build diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 121816e..be07f90 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -3,7 +3,6 @@ on: push: tags: - "v[0-9]+.[0-9]+.[0-9]+" - pull_request: jobs: pipeline: name: Skaffold Docker build