Skip to content

Optimize installation of packages for direct git links (#57) #105

Optimize installation of packages for direct git links (#57)

Optimize installation of packages for direct git links (#57) #105

Workflow file for this run

name: Docker Image CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
oer-backend-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-node@v6
with:
node-version: '22'
- run: corepack enable
- run: corepack prepare pnpm@9 --activate
- name: Build and export to Docker
uses: docker/build-push-action@v6
with:
context: .
tags: |
ghcr.io/edufeed-org/oer-finder-plugin:latest
oer-backend-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v6
with:
node-version: '22'
- run: corepack enable
- run: corepack prepare pnpm@9 --activate
- run: pnpm install --frozen-lockfile
- run: pnpm run lint
oer-backend-tsc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v6
with:
node-version: '22'
- run: corepack enable
- run: corepack prepare pnpm@9 --activate
- run: pnpm install --frozen-lockfile
- run: pnpm run type-check
oer-backend-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v6
with:
node-version: '22'
- run: corepack enable
- run: corepack prepare pnpm@9 --activate
- run: pnpm install --frozen-lockfile
- run: pnpm run test
oer-backend-test-e2e:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:10.8
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: oer_aggregator-test
ports:
# Will assign a random free host port
- 5432/tcp
# Needed because the postgres container does not provide a healthcheck
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v6
with:
node-version: '22'
- run: corepack enable
- run: corepack prepare pnpm@9 --activate
- run: pnpm install --frozen-lockfile
- run: pnpm run test:e2e
env:
POSTGRES_DATABASE: "oer_aggregator"
POSTGRES_HOST: "localhost"
POSTGRES_PASSWORD: "postgres"
POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }}
POSTGRES_SSL: false
POSTGRES_USER: "postgres"
POSTGRES_QUERY_TIMEOUT: 10000
POSTGRES_STATEMENT_TIMEOUT: 10000
oer-finder-plugin-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v6
with:
node-version: '22'
- run: corepack enable
- run: corepack prepare pnpm@9 --activate
- run: pnpm install --frozen-lockfile
- run: pnpm --filter @edufeed-org/oer-finder-plugin run lint
oer-finder-plugin-tsc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v6
with:
node-version: '22'
- run: corepack enable
- run: corepack prepare pnpm@9 --activate
- run: pnpm install --frozen-lockfile
- run: pnpm --filter @edufeed-org/oer-finder-api-client run build
- run: pnpm --filter @edufeed-org/oer-finder-plugin run type-check
oer-finder-plugin-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v6
with:
node-version: '22'
- run: corepack enable
- run: corepack prepare pnpm@9 --activate
- run: pnpm install --frozen-lockfile
- run: pnpm --filter @edufeed-org/oer-finder-api-client run build
- run: pnpm --filter @edufeed-org/oer-finder-plugin run test