| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- ---
- name: "Build Snapshot"
- on:
- push:
- pull_request:
- workflow_dispatch:
- jobs:
- build-snapshot:
- runs-on: ubuntu-latest
- if: github.ref_type != 'tag'
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
- - name: Set up QEMU
- id: qemu
- uses: docker/setup-qemu-action@v3
- with:
- image: tonistiigi/binfmt:latest
- platforms: arm64,arm
- - name: Setup node
- uses: actions/setup-node@v4
- with:
- cache: 'npm'
- cache-dependency-path: webui.dev/package-lock.json
- - name: Setup Go
- uses: actions/setup-go@v5
- with:
- go-version-file: 'service/go.mod'
- cache: true
- cache-dependency-path: 'service/go.mod'
- - name: Print go version
- run: go version
- - name: make service
- run: make -w service
- - name: make webui
- run: make -w webui-dist
- - name: unit tests
- run: make -w service-unittests
- - name: integration tests
- run: cd integration-tests && make -w
- - name: goreleaser
- uses: goreleaser/goreleaser-action@v6
- with:
- distribution: goreleaser
- version: latest
- args: release --snapshot --clean --parallelism 1 --skip=docker
- - name: get date
- run: |
- echo "DATE=$(date +'%Y-%m-%d')" >> "$GITHUB_ENV"
- - name: Archive binaries
- uses: actions/upload-artifact@v4.3.1
- with:
- name: "OliveTin-snapshot-${{ env.DATE }}-${{ github.sha }}"
- path: dist/OliveTin*.*
- - name: Archive integration tests
- uses: actions/upload-artifact@v4.3.1
- if: always()
- with:
- name: "OliveTin-integration-tests-${{ env.DATE }}-${{ github.sha }}"
- path: |
- integration-tests
- !integration-tests/node_modules
|