Skip to content

Commit

Permalink
Merge pull request #22 from B-S-F/test-onyx-caching
Browse files Browse the repository at this point in the history
Add caching
  • Loading branch information
frank-bee authored Oct 29, 2024
2 parents 9f37a8c + b8ad83a commit 4da7006
Show file tree
Hide file tree
Showing 88 changed files with 8,955 additions and 20,649 deletions.
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
**/node_modules
185 changes: 185 additions & 0 deletions .github/workflows/build-onyx.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
name: Test Onyx Pipeline
# Remove me
on:
workflow_dispatch:
push:
branches:
- "test-onyx-caching"

jobs:
build-onyx:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
- uses: actions/checkout@v4

- name: Setup go
uses: actions/setup-go@v5
with:
go-version: ">=1.20.0"
cache: true
cache-dependency-path: onyx/go.sum

- name: restore cache if exists
id: onyx-cache
uses: actions/cache/restore@v4
with:
path: onyx/bin
key: onyx-${{ hashFiles('onyx/**') }}
lookup-only: true

- if: steps.onyx-cache.outputs.cache-hit != 'true'
name: Build
working-directory: onyx
run: |
make setup
make build
- name: Save cache
uses: actions/cache/save@v4
with:
path: onyx/bin
key: ${{ steps.onyx-cache.outputs.cache-primary-key }}
build-typescript-apps:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
- uses: actions/checkout@v4
- name: Cache turbo build setup
uses: actions/cache@v4
with:
path: yaku-apps-typescript/.turbo
key: typescript-apps-turbo-${{ github.sha }}
restore-keys: |
typescript-apps-turbo-
- uses: actions/setup-node@v4
with:
node-version: 18
check-latest: true
cache: 'npm'
cache-dependency-path: yaku-apps-typescript/package-lock.json

- name: restore cache if exists
id: cache
uses: actions/cache/restore@v4
with:
path: yaku-apps-typescript
key: typescript-apps-${{ hashFiles('yaku-apps-typescript/**') }}

- if: steps.cache.outputs.cache-hit != 'true'
name: Install and Build
working-directory: yaku-apps-typescript
run: |
npm ci -ws --include-workspace-root
npm run build
- name: Save cache
uses: actions/cache/save@v4
with:
path: |
yaku-apps-typescript
key: ${{ steps.cache.outputs.cache-primary-key }}
build-backend:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
- uses: actions/checkout@v4
- name: Cache turbo build setup
uses: actions/cache@v4
with:
path: qg-api-service/.turbo
key: backend-turbo-${{ github.sha }}
restore-keys: |
backend-turbo-
- uses: actions/setup-node@v4
with:
node-version: 18.18.2
cache: "npm"
cache-dependency-path: qg-api-service/package-lock.json

- name: restore cache if exists
id: cache
uses: actions/cache/restore@v4
with:
path: qg-api-service
key: qg-api-service-${{ hashFiles('qg-api-service/**') }}

- if: steps.cache.outputs.cache-hit != 'true'
name: Install and build
working-directory: qg-api-service
run: |
npm ci -ws --include-workspace-root
npm run build
- name: Save cache
uses: actions/cache/save@v4
with:
path: |
qg-api-service
key: ${{ steps.cache.outputs.cache-primary-key }}
Build-backend-docker-image:
runs-on: ubuntu-latest
env:
REGISTRY: ghcr.io
needs:
- build-onyx
- build-typescript-apps
- build-backend
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
- name: restore onyx cache
uses: actions/cache/restore@v4
with:
path: |
onyx/bin
key: onyx-${{ hashFiles('onyx/**') }}

- name: restore typescript-apps cache
uses: actions/cache/restore@v4
with:
path: |
yaku-apps-typescript
key: typescript-apps-${{ hashFiles('yaku-apps-typescript/**') }}

- name: restore backend cache
uses: actions/cache/restore@v4
with:
path: |
qg-api-service
key: qg-api-service-${{ hashFiles('qg-api-service/**') }}

- name: Log in to the Container registry
uses: docker/[email protected]
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build docker image
uses: docker/build-push-action@v5
with:
pull: true
push: true
build-args: |
BASE_IMAGE_WORKFLOW_NAME=node:22-alpine
tags: ghcr.io/b-s-f/yaku/api-image-test:test
context: ./qg-api-service
file: qg-api-service/qg-api-service/Dockerfile
platforms: linux/amd64

1 change: 0 additions & 1 deletion commons-libs/.npmrc

This file was deleted.

21 changes: 0 additions & 21 deletions commons-libs/LICENSE

This file was deleted.

1 change: 0 additions & 1 deletion commons-libs/README.md

This file was deleted.

Loading

0 comments on commit 4da7006

Please sign in to comment.