feat: Flyttet main package til root #633
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |