Skip to content

release: v0.1.1

release: v0.1.1 #21

Workflow file for this run

name: CI
on:
push:
branches:
- main
tags:
- v*
pull_request:
defaults:
run:
shell: bash
jobs:
lint:
runs-on: ubuntu-22.04
steps:
- name: Setup Earthly
uses: earthly/actions/setup-earthly@v1
with:
version: v0.8.8
- name: Checkout code
uses: actions/checkout@v4
with:
# Needed for `golangci-lint --new-from-rev`
fetch-depth: 0
# Needed for Earthly tagging to work
- name: Put back the git branch into git
run: |
branch=""
if [ -n "$GITHUB_HEAD_REF" ]; then
branch="$GITHUB_HEAD_REF"
else
branch="${GITHUB_REF##*/}"
fi
git checkout -b "$branch" || true
- name: Run +lint target
env:
EARTHLY_TOKEN: ${{ secrets.EARTHLY_TOKEN }}
EARTHLY_ORG: ${{ secrets.EARTHLY_ORG }}
run: earthly --ci --output --sat disco --push +lint
- name: Upload golangci-lint report
uses: actions/upload-artifact@v4
with:
name: golangci-lint-${{ github.run_id }}_${{ github.run_attempt }}
retention-days: 30
path: golangci-lint-*.txt
test:
runs-on: ubuntu-22.04
steps:
- name: Setup Earthly
uses: earthly/actions/setup-earthly@v1
with:
version: v0.8.8
- name: Checkout code
uses: actions/checkout@v4
# Needed for Earthly tagging to work
- name: Put back the git branch into git
run: |
branch=""
if [ -n "$GITHUB_HEAD_REF" ]; then
branch="$GITHUB_HEAD_REF"
else
branch="${GITHUB_REF##*/}"
fi
git checkout -b "$branch" || true
- name: Run +test target
env:
EARTHLY_TOKEN: ${{ secrets.EARTHLY_TOKEN }}
EARTHLY_ORG: ${{ secrets.EARTHLY_ORG }}
run: earthly --ci --output --sat disco --push +test
publish:
if: ${{ startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'main' }}
needs: [lint, test]
runs-on: ubuntu-22.04
steps:
- name: Setup Earthly
uses: earthly/actions/setup-earthly@v1
with:
version: v0.8.8
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
# Needed for Earthly tagging to work
- name: Put back the git branch into git
run: |
branch=""
if [ -n "$GITHUB_HEAD_REF" ]; then
branch="$GITHUB_HEAD_REF"
else
branch="${GITHUB_REF##*/}"
fi
git checkout -b "$branch" || true
- name: Docker Login
run: docker login --username "${{ secrets.DOCKERHUB_USERNAME }}" --password "${{ secrets.DOCKERHUB_TOKEN }}"
- name: Run +publish target
env:
EARTHLY_TOKEN: ${{ secrets.EARTHLY_TOKEN }}
EARTHLY_ORG: ${{ secrets.EARTHLY_ORG }}
run: earthly --ci --output --push --secret GH_TOKEN="${{ secrets.EARTHLY_GH_TOKEN }}" --sat disco +publish
- name: Upload packages
uses: actions/upload-artifact@v4
with:
name: packages
path: dist/
retention-days: 7