Bump node from 18-alpine3.21 to 23-alpine3.21 in /cmd/hub #11619
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
merge_group: | |
pull_request: | |
branches: | |
- master | |
permissions: read-all | |
jobs: | |
linter-backend: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.22" | |
- name: Install TensorFlow C library | |
run: | | |
FILENAME=libtensorflow-cpu-linux-x86_64-2.11.0.tar.gz | |
wget -q --no-check-certificate https://storage.googleapis.com/tensorflow/libtensorflow/${FILENAME} | |
sudo tar -C /usr/local -xzf ${FILENAME} | |
sudo ldconfig /usr/local/lib | |
- name: Run golangci-lint | |
uses: golangci/golangci-lint-action@v6 | |
with: | |
version: v1.61.0 | |
args: --timeout 10m | |
linter-openapi: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Lint OpenAPI specs | |
uses: github/super-linter@v7 | |
env: | |
FILTER_REGEX_INCLUDE: docs/api/openapi.yaml | |
MULTI_STATUS: false | |
VALIDATE_ALL_CODEBASE: true | |
VALIDATE_OPENAPI: true | |
linter-artifacthub: | |
runs-on: ubuntu-20.04 | |
container: | |
image: artifacthub/ah | |
options: --user root | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run ah lint | |
working-directory: ./charts/artifact-hub | |
run: ah lint | |
linter-clomonitor: | |
runs-on: ubuntu-20.04 | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
container: | |
image: public.ecr.aws/clomonitor/linter:latest | |
options: --user root | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run CloMonitor linter | |
run: clomonitor-linter --path . --url https://github.com/artifacthub/hub | |
tests-database: | |
runs-on: ubuntu-20.04 | |
container: | |
image: artifacthub/db-tests | |
services: | |
postgres: | |
image: artifacthub/postgres | |
env: | |
POSTGRES_USER: tests | |
POSTGRES_PASSWORD: tests | |
POSTGRES_DB: tests | |
ports: | |
- 5432:5432 | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Apply database migrations | |
working-directory: ./database/migrations | |
run: TERN_CONF=../../../.github/workflows/tern.conf PGPORT=${{ job.services.postgres.ports[5432] }} ./migrate.sh | |
- name: Install pgtap database extension | |
run: PGPASSWORD=tests psql -h postgres -p ${{ job.services.postgres.ports[5432] }} -U tests tests -c 'create extension pgtap;' | |
- name: Run database tests | |
working-directory: ./database/tests | |
run: PGPASSWORD=tests pg_prove --host postgres --dbname tests --username tests --verbose schema/*.sql functions/*/*.sql | |
tests-backend: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.22" | |
- name: Cache Go modules | |
uses: actions/cache@v4 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Install TensorFlow C library | |
run: | | |
FILENAME=libtensorflow-cpu-linux-x86_64-2.11.0.tar.gz | |
wget -q --no-check-certificate https://storage.googleapis.com/tensorflow/libtensorflow/${FILENAME} | |
sudo tar -C /usr/local -xzf ${FILENAME} | |
sudo ldconfig /usr/local/lib | |
- name: Run backend tests | |
run: go test -cover -race -v -mod=readonly ./... | |
tests-frontend: | |
runs-on: ubuntu-20.04 | |
env: | |
NODE_OPTIONS: --max_old_space_size=4096 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
with: | |
path: ./web/node_modules | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
working-directory: ./web | |
run: yarn install | |
- name: Run prettier | |
working-directory: ./web | |
run: yarn format:diff | |
- name: Run eslint | |
working-directory: ./web | |
run: yarn lint | |
- name: Run frontend tests | |
working-directory: ./web | |
run: yarn test --watchAll=false --passWithNoTests --verbose --maxWorkers=4 | |
tests-widget: | |
runs-on: ubuntu-20.04 | |
env: | |
NODE_OPTIONS: --max_old_space_size=4096 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
with: | |
path: ./widget/node_modules | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
working-directory: ./widget | |
run: yarn install | |
- name: Run prettier | |
working-directory: ./widget | |
run: yarn format:diff | |
- name: Run eslint | |
working-directory: ./widget | |
run: yarn lint | |
- name: Run widget tests | |
working-directory: ./widget | |
run: yarn test --watchAll=false --passWithNoTests --verbose --maxWorkers=4 | |
build-backend: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.22" | |
- name: Cache Go modules | |
uses: actions/cache@v4 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Install TensorFlow C library | |
run: | | |
FILENAME=libtensorflow-cpu-linux-x86_64-2.11.0.tar.gz | |
wget -q --no-check-certificate https://storage.googleapis.com/tensorflow/libtensorflow/${FILENAME} | |
sudo tar -C /usr/local -xzf ${FILENAME} | |
sudo ldconfig /usr/local/lib | |
- name: Build hub | |
working-directory: ./cmd/hub | |
run: go build -v | |
- name: Build scanner | |
working-directory: ./cmd/scanner | |
run: go build -v | |
- name: Build tracker | |
working-directory: ./cmd/tracker | |
run: go build -v | |
build-frontend: | |
runs-on: ubuntu-20.04 | |
env: | |
NODE_OPTIONS: --max_old_space_size=4096 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
with: | |
path: ./web/node_modules | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
working-directory: ./web | |
run: yarn install | |
- name: Build frontend | |
working-directory: ./web | |
run: yarn build | |
build-widget: | |
runs-on: ubuntu-20.04 | |
env: | |
NODE_OPTIONS: --max_old_space_size=4096 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
with: | |
path: ./widget/node_modules | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
working-directory: ./widget | |
run: yarn install | |
- name: Build widget | |
working-directory: ./widget | |
run: yarn build |