Skip to content

feat: Flyttet main package til root #633

feat: Flyttet main package til root

feat: Flyttet main package til root #633

Workflow file for this run

name: Publish release
on:
push:
paths-ignore:
- '**.md'
- 'doc/**'
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
set-version:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.set-version.outputs.version }}
steps:
- uses: actions/checkout@v3
- name: set version
id: set-version
run: |
echo Faking a Semantic Version
echo "version=1.$(date "+%Y%m%d%H%M%S")" >> ${GITHUB_OUTPUT}
test:
needs:
- set-version
runs-on: ubuntu-latest
steps:
- name: Checkout latest code
uses: actions/checkout@v3
- name: Extract version of Go to use
run: echo "GOVERSION=$(cat go.mod | grep -w "go" | awk ' { print $2 } ' | grep -w "^[^v]")" >> $GITHUB_ENV
- name: Set up Go
uses: actions/[email protected]
with:
go-version: ${{ env.GOVERSION }}
- name: Test Go
run: |
go mod tidy -v
go test ./... -count=1 -coverprofile cover.out -short
release:
if: ${{ github.ref == 'refs/heads/main' }}
needs:
- set-version
- test
runs-on: ubuntu-latest
steps:
- name: Checkout latest code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Extract version of Go to use
run: echo "GOVERSION=$(cat go.mod | grep -w "go" | awk ' { print $2 } ' | grep -w "^[^v]")" >> $GITHUB_ENV
- name: Set up Go
uses: actions/[email protected]
with:
go-version: ${{ env.GOVERSION }}
- name: Create tag
run: |
git tag ${{ needs.set-version.outputs.version }}
- name: Prepare for signing windows binaries
run: |
sudo apt-get update
sudo apt-get install --yes osslsigncode
echo "${{ secrets.SIGN_CERT }}" > nais.crt
echo "${{ secrets.SIGN_KEY }}" > nais.key
- uses: navikt/github-app-token-generator@v1
id: get-homebrew-token
with:
private-key: ${{ secrets.NAIS_APP_PRIVATE_KEY }}
app-id: ${{ secrets.NAIS_APP_ID }}
repo: nais/homebrew-tap
- uses: navikt/github-app-token-generator@v1
id: get-scoop-token
with:
private-key: ${{ secrets.NAIS_APP_PRIVATE_KEY }}
app-id: ${{ secrets.NAIS_APP_ID }}
repo: nais/scoop-bucket
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v4
with:
distribution: goreleaser
version: v1.7.0
args: release -f .goreleaser.yml --rm-dist --debug
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HOMEBREW_PUSH_TOKEN: ${{ steps.get-homebrew-token.outputs.token }}
SCOOP_PUSH_TOKEN: ${{ steps.get-scoop-token.outputs.token }}
upload-ppa:
if: ${{ github.ref == 'refs/heads/main' }}
needs:
- set-version
- release
runs-on: ubuntu-latest
steps:
- uses: navikt/github-app-token-generator@v1
id: get-token
with:
private-key: ${{ secrets.NAIS_APP_PRIVATE_KEY }}
app-id: ${{ secrets.NAIS_APP_ID }}
repo: nais/nais-ppa
- name: Checkout nais-ppa
uses: actions/checkout@v3
with:
repository: nais/nais-ppa
token: ${{ steps.get-token.outputs.token }}
path: pparepo
- name: Add new deb to ppa
id: update_ppa
env:
VERSION: ${{ needs.set-version.outputs.version }}
EMAIL: [email protected]
run: |
echo "Version ${VERSION} was released, adding to PPA"
cd pparepo
# Fetch latest deb
wget https:/${{ github.repository }}/releases/download/${VERSION}/nais_${VERSION}.deb
# Commit and push changes
git config user.name "$GITHUB_ACTOR"
git config user.email "[email protected]"
git add nais_${VERSION}.deb
git --no-pager diff --cached
git commit --all --message "Add version ${VERSION} of nais-cli"
git push
upload-gar:
if: ${{ github.ref == 'refs/heads/main' }}
needs:
- set-version
- release
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- id: "auth"
name: "Authenticate to Google Cloud"
uses: "google-github-actions/auth@35b0e87d162680511bf346c299f71c9c5c379033" # ratchet:google-github-actions/[email protected]
with:
workload_identity_provider: ${{ secrets.NAIS_IO_WORKLOAD_IDENTITY_PROVIDER }}
service_account: "[email protected]"
token_format: "access_token"
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@v1'
with:
install_components: beta
- name: 'Upload new deb file to Google repository'
env:
VERSION: ${{ needs.set-version.outputs.version }}
run: |
echo "Version ${VERSION} was released, adding to PPA"
# Fetch latest deb
wget https:/${{ github.repository }}/releases/download/${VERSION}/nais_${VERSION}.deb
# Upload to GAR
gcloud --project nais-io beta artifacts apt upload nais-ppa --quiet --source nais_${VERSION}.deb --location europe-north1