Skip to content

add grayscale option #86

add grayscale option

add grayscale option #86

Workflow file for this run

name: CI/CD
on: push
jobs:
misspell:
name: runner / misspell
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: misspell
uses: reviewdog/action-misspell@v1
with:
github_token: ${{ secrets.github_token }}
locale: 'US'
exclude: |
./.git/*
./.vendor/*
hadolint:
name: runner / hadolint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: hadolint/[email protected]
with:
dockerfile: Dockerfile
gosec:
name: runner / gocheck
runs-on: ubuntu-latest
env:
GO111MODULE: on
steps:
- uses: actions/checkout@v3
- name: Run Gosec Security Scanner
uses: securego/gosec@master
with:
args: -severity medium ./...
prettier:
name: runner / prettier
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up npm
uses: actions/setup-node@v3
- name: Install dependencies
working-directory: ./ui
run: npm install
- name: Prettify code
working-directory: ./ui
run: npm run prettier
test-build:
name: runner / Go package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.21'
- name: Install Dependencies
run: |
sudo apt-get install -y libwebp-dev
go install honnef.co/go/tools/cmd/staticcheck@latest
- name: build
run: go build cmd/*go
- name: staticcheck
run: |
go install honnef.co/go/tools/cmd/staticcheck@latest
staticcheck ./...
build-push-songstitch:
name: runner / Build and Push SongStitch Image
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
env:
IMAGE_NAME: song-stitch
IMAGE_REGISTRY: ghcr.io
IMAGE_REPOSITORY: songstitch
steps:
- uses: actions/checkout@v3
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: ${{env.IMAGE_REGISTRY}}/${{env.IMAGE_REPOSITORY}}/${{env.IMAGE_NAME}}
tags: |
type=sha
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ${{ env.IMAGE_REGISTRY }}
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and push
uses: docker/build-push-action@v3
with:
context: .
push: true
platforms: linux/amd64 # only build X86 for now since arm emulation is slow
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
deploy:
name: runner / Deploy app
runs-on: ubuntu-latest
needs: build-push-songstitch
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v3
- uses: superfly/flyctl-actions/setup-flyctl@master
- run: flyctl deploy --image ghcr.io/songstitch/song-stitch:sha-${GITHUB_SHA::7}
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
- name: Purge cache
uses: nathanvaughn/actions-cloudflare-purge@master
with:
cf_zone: ${{ secrets.CLOUDFLARE_ZONE }}
cf_auth: ${{ secrets.CLOUDFLARE_TOKEN }}
test:
name: runner / Smoke Test
runs-on: ubuntu-latest
needs: deploy
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.21'
- name: Run Tests
run: make test