Skip to content

Use the protocol less version of API embedding #5

Use the protocol less version of API embedding

Use the protocol less version of API embedding #5

Workflow file for this run

name: release
on:
push:
tags:
- '*'
jobs:
build:
strategy:
matrix:
type:
- os: 'linux'
arch: 'amd64'
- os: 'linux'
arch: 'arm64'
- os: 'darwin'
arch: 'arm64'
- os: 'darwin'
arch: 'amd64'
permissions:
contents: write
runs-on: ubuntu-latest
name: 'Build Artefacts'
steps:
- name: 'Checkout'
uses: actions/checkout@v4
- name: 'Setup Go'
uses: actions/setup-go@v5
with:
go-version: ^1.22
- name: 'Hack Yarn'
run: corepack enable && yarn set version 4.3.1
- name: 'Setup Node'
uses: actions/setup-node@v4
with:
node-version: 20
cache: yarn
- name: 'Build Frontend'
run: yarn install && yarn build
- name: 'Compile'
run: mkdir bin && GOOS=${{ matrix.type.os }} GOARCH=${{ matrix.type.arch }} go build -o bin/episodical-${{ matrix.type.os }}-${{ matrix.type.arch }} ./cmd/episodical
- name: 'Archive'
uses: actions/upload-artifact@v4
with:
name: binary-${{ matrix.type.arch }}-${{ matrix.type.os }}
path: bin/episodical-${{ matrix.type.os }}-${{ matrix.type.arch }}
- name: 'Create Release'
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: 'bin/*'
omitBody: true
container:
runs-on: ubuntu-latest
name: 'Build Image'
steps:
- name: 'Checkout'
uses: actions/checkout@v4
- name: 'Setup buildx'
uses: docker/setup-buildx-action@v3
- name: 'Login to Hub'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_PASS }}
- name: 'Extract Metadata'
id: meta
uses: docker/metadata-action@v5
with:
images: cloudcloud/episodical
- name: 'Build and Push'
uses: docker/build-push-action@v6
with:
context: .
labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta.outputs.tags }}