mirror of https://github.com/ghostfolio/ghostfolio
committed by
GitHub
4 changed files with 97 additions and 5 deletions
@ -0,0 +1,33 @@ |
|||||
|
name: Build code |
||||
|
|
||||
|
on: |
||||
|
workflow_dispatch: |
||||
|
|
||||
|
jobs: |
||||
|
build: |
||||
|
runs-on: ubuntu-latest |
||||
|
strategy: |
||||
|
matrix: |
||||
|
node_version: |
||||
|
- 16 |
||||
|
steps: |
||||
|
- name: Checkout code |
||||
|
uses: actions/checkout@v3 |
||||
|
|
||||
|
- name: Use Node.js ${{ matrix.node_version }} |
||||
|
uses: actions/setup-node@v3 |
||||
|
with: |
||||
|
node-version: ${{ matrix.node_version }} |
||||
|
cache: 'yarn' |
||||
|
|
||||
|
- name: Install dependencies |
||||
|
run: yarn install --frozen-lockfile |
||||
|
|
||||
|
- name: Check formatting |
||||
|
run: yarn format:check |
||||
|
|
||||
|
- name: Execute tests |
||||
|
run: yarn test |
||||
|
|
||||
|
- name: Build application |
||||
|
run: yarn build:all |
@ -0,0 +1,49 @@ |
|||||
|
name: Docker image CD |
||||
|
|
||||
|
on: |
||||
|
push: |
||||
|
tags: |
||||
|
- '*.*.*' |
||||
|
pull_request: |
||||
|
branches: |
||||
|
- 'main' |
||||
|
|
||||
|
jobs: |
||||
|
build_and_push: |
||||
|
runs-on: ubuntu-latest |
||||
|
steps: |
||||
|
- name: Checkout code |
||||
|
uses: actions/checkout@v3 |
||||
|
|
||||
|
- name: Docker metadata |
||||
|
id: meta |
||||
|
uses: docker/metadata-action@v4 |
||||
|
with: |
||||
|
images: ghostfolio/ghostfolio |
||||
|
tags: | |
||||
|
type=raw,value=arm64 |
||||
|
|
||||
|
- name: Set up QEMU |
||||
|
uses: docker/setup-qemu-action@v2 |
||||
|
|
||||
|
- name: Set up Docker Buildx |
||||
|
id: buildx |
||||
|
uses: docker/setup-buildx-action@v2 |
||||
|
|
||||
|
- name: Login to DockerHub |
||||
|
if: github.event_name != 'pull_request' |
||||
|
uses: docker/login-action@v2 |
||||
|
with: |
||||
|
username: ${{ secrets.DOCKER_USERNAME }} |
||||
|
password: ${{ secrets.DOCKER_PASSWORD }} |
||||
|
|
||||
|
- name: Build and push |
||||
|
uses: docker/build-push-action@v3 |
||||
|
with: |
||||
|
context: . |
||||
|
platforms: linux/arm64 |
||||
|
push: ${{ github.event_name != 'pull_request' }} |
||||
|
tags: ${{ steps.meta.outputs.tags }} |
||||
|
labels: ${{ steps.meta.output.labels }} |
||||
|
cache-from: type=gha |
||||
|
cache-to: type=gha,mode=max |
Loading…
Reference in new issue