Skip to content

chore(deps): bump github.com/mattn/go-sqlite3 from 1.14.34 to 1.14.40 #121

chore(deps): bump github.com/mattn/go-sqlite3 from 1.14.34 to 1.14.40

chore(deps): bump github.com/mattn/go-sqlite3 from 1.14.34 to 1.14.40 #121

Workflow file for this run

name: CI
on:
pull_request:
push:
branches: [ main, staging ]
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
# ── Quality (go vet + staticcheck) ────────────────────────────────────────────
quality:
name: go vet + staticcheck
runs-on: ubuntu-latest
if: ${{ vars.ENABLE_GO_ANALYSIS != 'FALSE' }}
permissions:
contents: read
env:
CI: true
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Go
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6
with:
go-version-file: go.mod
cache: true
- name: go vet
run: go vet ./...
- name: staticcheck
uses: dominikh/staticcheck-action@9716614d4101e79b4340dd97b10e54d68234e431 # v1
with:
version: latest
# ── Test (build + test) ────────────────────────────────────────────────────────
test:
name: Build + test
runs-on: ubuntu-latest
if: ${{ vars.ENABLE_GO_ANALYSIS != 'FALSE' && (needs.quality.result == 'success' || needs.quality.result == 'skipped') }}
permissions:
contents: read
needs:
- quality
env:
CI: true
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Go
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6
with:
go-version-file: go.mod
cache: true
- name: Compile
run: go build ./...
- name: Run tests
run: go test ./...
- name: Upload test reports (on failure)
if: failure()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: test-reports
path: build/reports/tests/test
# ── Markdown lint ─────────────────────────────────────────────────────────────
markdown-lint:
name: Markdown lint (markdownlint-cli2)
runs-on: ubuntu-latest
if: ${{ vars.ENABLE_MD_LINT != 'FALSE' }}
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 22
cache: yarn
- name: Install dependencies
run: yarn install --immutable
- name: Lint markdown files
run: yarn markdownlint-cli2 '**/*.md' '#node_modules'
# ── SonarCloud analysis ────────────────────────────────────────────────────
# Runs after tests pass so coverage data is available.
# When this job fails CI fails, which prevents release.yml from triggering.
sonar:
name: SonarCloud analysis
runs-on: ubuntu-latest
if: ${{ vars.ENABLE_SONAR != 'FALSE' && (needs.test.result == 'success' || needs.test.result == 'skipped') }}
needs:
- test
permissions:
contents: read
pull-requests: read
steps:
- name: Checkout (full history)
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0 # required for blame info and new-code detection
- name: Set up Go
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6
with:
go-version-file: go.mod
cache: true
- name: Generate coverage report
run: go test -coverprofile=coverage.out ./...
- name: SonarCloud scan
uses: SonarSource/sonarqube-scan-action@a31c9398be7ace6bbfaf30c0bd5d415f843d45e9 # v7.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
args: >
-Dsonar.organization=${{ vars.SONAR_ORGANIZATION }}
-Dsonar.projectKey=${{ vars.SONAR_PROJECT_KEY }}
# ── Frontmatter tag validation ─────────────────────────────────────────────
docs-tags:
name: Validate frontmatter tags
runs-on: ubuntu-latest
if: ${{ vars.ENABLE_DOCS_TAGS != 'FALSE' }}
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Validate docs frontmatter tags
run: bash scripts/ci/validate-frontmatter-tags.sh