Skip to content

⬆️ QD-12983: Bump the dependencies group across 1 directory with 2 updates #2099

⬆️ QD-12983: Bump the dependencies group across 1 directory with 2 updates

⬆️ QD-12983: Bump the dependencies group across 1 directory with 2 updates #2099

Workflow file for this run

name: '⚙️ CLI'
on:
workflow_dispatch:
push:
branches:
- main
paths-ignore:
- '**.md'
- '.github/dependabot.yml'
- '.github/ISSUE_TEMPLATE/**'
- '.github/pull_request_template.md'
- '.github/SECURITY.md'
- '.github/CODE_OF_CONDUCT.md'
- '.devcontainer/**'
- '.gitattributes'
- '.idea/**'
- '.mailmap'
- '.run/**'
- '.teamcity/**'
- 'LICENSE'
- 'qodana.spdx.json'
- 'bots.json'
pull_request:
paths-ignore:
- '**.md'
- '.github/dependabot.yml'
- '.github/ISSUE_TEMPLATE/**'
- '.github/pull_request_template.md'
- '.github/SECURITY.md'
- '.github/CODE_OF_CONDUCT.md'
- '.devcontainer/**'
- '.gitattributes'
- '.idea/**'
- '.mailmap'
- '.run/**'
- '.teamcity/**'
- 'LICENSE'
- 'qodana.spdx.json'
- 'bots.json'
jobs:
lint:
name: "Lint"
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: write
actions: read
contents: read
security-events: write
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/mock-dependencies
- name: Setup Go
uses: actions/setup-go@v6
with:
cache-dependency-path: "**/*.sum"
go-version-file: go.mod
- name: Download CLI dependencies
# Golangci-lint, in their infinite wisdom, do not allow you to disable typecheck.
# Because of this, the project NEEDS to be compileable to be linted.
# https://golangci-lint.run/docs/welcome/faq/#why-do-you-have-typecheck-errors
run: go generate -v ./internal/tooling/...
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
with:
version: v2.6
- uses: github/codeql-action/init@v4
with:
languages: go
- uses: github/codeql-action/autobuild@v4
- uses: github/codeql-action/analyze@v4
test:
name: "Test (⚙️ ${{ matrix.os }}, 🐳 ${{ matrix.container-engine }})"
uses: ./.github/workflows/test.yaml
with:
os: ${{ matrix.os }}
container-engine: ${{ matrix.container-engine }}
secrets: inherit
strategy:
matrix:
include:
- os: macos-15-large # Only intel-based macOS runners support virtualization for Docker.
container-engine: docker@latest
- os: windows-latest
container-engine: docker@latest
- os: ubuntu-latest
container-engine: docker@latest
- os: ubuntu-latest
container-engine: podman@latest
- os: ubuntu-latest
container-engine: [email protected] # See also: https://endoflife.date/docker-engine
code-quality:
name: "Qodana"
runs-on: ubuntu-latest
needs: test
permissions:
checks: write
pull-requests: write
actions: read
contents: write
security-events: write
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: ./.github/actions/mock-dependencies
- uses: docker/login-action@v3
with:
registry: registry.jetbrains.team
username: ${{ secrets.SPACE_USERNAME }}
password: ${{ secrets.SPACE_PASSWORD }}
- uses: actions/setup-go@v6
with:
cache-dependency-path: "**/*.sum"
go-version-file: go.mod
- name: Download coverage artifacts
uses: actions/download-artifact@v7
with:
pattern: coverage-*
path: coverage-reports
- name: Merge coverage reports
run: |
mkdir -p .qodana/code-coverage
echo "mode: set" > .qodana/code-coverage/coverage.out
find coverage-reports -name "*.out" -exec tail -n +2 {} \; >> .qodana/code-coverage/coverage.out
- uses: JetBrains/qodana-action@main
env:
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
with:
args: --baseline,.github/qodana.sarif.json
use-nightly: true
pr-mode: false
upload-result: true
- uses: actions/upload-artifact@v6
with:
name: qodana-artifacts
path: "${{ runner.temp }}/qodana/results"
goreleaser:
name: "GoReleaser (${{ github.ref == 'refs/heads/main' && 'nightly' || 'build' }})"
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-go@v6
with:
cache-dependency-path: "**/*.sum"
go-version-file: go.mod
- name: Download CLI dependencies
run: go generate -v ./internal/tooling/...
- name: Build CLI only
if: github.ref != 'refs/heads/main'
uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser-pro
version: "~> v2"
args: build --snapshot --clean --id cli
env:
GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
- name: Release nightly CLI only
if: github.ref == 'refs/heads/main'
uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser-pro
version: "~> v2"
args: release --nightly --clean --skip=chocolatey,nfpm,homebrew,scoop,snapcraft
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
# install-script-check:
# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu-latest, macos-latest]
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v6
# - run: |
# ./install
# ./install nightly