Skip to content

fix(CI): install hardcoded syft from github #13

fix(CI): install hardcoded syft from github

fix(CI): install hardcoded syft from github #13

Workflow file for this run

name: ci
on:
pull_request:
branches:
- main
push:
branches:
- main
tags:
- "v*"
permissions:
contents: write
packages: write
id-token: write
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Download dependencies
run: go mod download
- name: Build
run: go build -v ./cmd/awesome-directories
- name: Test
run: go test -v ./...
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
build-dev:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Build development version
run: >-
go build \
-ldflags="
-X main.version=dev-${{ github.sha }}
-X main.commit=${{ github.sha }}
-X main.date=$(date -u +%Y-%m-%dT%H:%M:%SZ)
-X main.builtBy=github-actions" \
-o awesome-directories \
./cmd/awesome-directories
- name: Test binary
run: ./awesome-directories --version
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: awesome-directories-${{ github.run_id }}-${{ github.run_attempt }}
path: awesome-directories
release-please:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
outputs:
releases_created: ${{ steps.release-please.outputs.releases_created }}
tag_name: ${{ steps.release-please.outputs.tag_name }}
permissions:
contents: write
issues: write
pull-requests: write
steps:
- id: release-please
name: Release please
uses: googleapis/release-please-action@v4
with:
release-type: go
release:
needs: release-please
if: needs.release-please.outputs.releases_created == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
ref: ${{ needs.release-please.outputs.tag_name }}
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Setup Cosign CLI
uses: sigstore/cosign-installer@v3
- name: Install syft
run: |
wget https://github.com/anchore/syft/releases/download/v1.38.0/syft_1.38.0_linux_amd64.tar.gz
tar -xzf syft_1.38.0_linux_amd64.tar.gz syft
sudo mv syft /usr/local/bin/
- name: Install GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
version: "~> v2"
args: release --clean --release-notes CHANGELOG.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }}
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}