Skip to content

Merge pull request #240 from axiomhq/prepare-v1.3.0-release #647

Merge pull request #240 from axiomhq/prepare-v1.3.0-release

Merge pull request #240 from axiomhq/prepare-v1.3.0-release #647

Workflow file for this run

# caching pnpm deps: https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#caching-packages-data
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
AXIOM_TOKEN: ${{ secrets.TESTING_STAGING_E2E_TOKEN }}
AXIOM_URL: ${{ secrets.TESTING_STAGING_API_URL }}
AXIOM_ORG_ID: ${{ secrets.TESTING_STAGING_E2E_ORG_ID }}
NEXT_PUBLIC_AXIOM_TOKEN: ${{ secrets.TESTING_STAGING_E2E_TOKEN }}
NEXT_PUBLIC_AXIOM_URL: ${{ secrets.TESTING_STAGING_API_URL }}
NEXT_PUBLIC_AXIOM_ORG_ID: ${{ secrets.TESTING_STAGING_E2E_ORG_ID }}
AXIOM_DATASET_SUFFIX: ${{ github.run_id }}
NODEVERSION: 20.x
PNPM_VERSION: 9.1.1
jobs:
build:
name: Build
runs-on: ubuntu-latest
strategy:
matrix:
node:
- 18.x
- 20.x
- 22.x
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: ${{ env.PNPM_VERSION }}
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm build && pnpm build:cjs
- run: pnpm lint
- run: pnpm test
check-winston-example:
name: Check Winston example
runs-on: ubuntu-latest
strategy:
matrix:
node:
- 18.x
- 20.x
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: ${{ env.PNPM_VERSION }}
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm build && pnpm build:cjs
- run: cd examples/winston && pnpm example
test-integration:
name: Test (Integration)
runs-on: ubuntu-latest
needs: build
if: github.event.pull_request.head.repo.full_name == github.repository
strategy:
matrix:
node:
- 18.x
- 20.x
max-parallel: 1
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: ${{ env.PNPM_VERSION }}
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm build && pnpm build:cjs
- env:
AXIOM_DATASET_SUFFIX: ${{ github.run_id }}-${{ matrix.node }}
run: pnpm integration
deploy-e2e-apps:
name: Deploy E2E apps
runs-on: ubuntu-latest
needs: build
if: github.event.pull_request.head.repo.full_name == github.repository
steps:
- uses: actions/checkout@v4
- uses: amondnet/vercel-action@v25 #deploy
id: vercel-deploy
with:
vercel-token: ${{ secrets.VERCEL_TOKEN }} # Required
vercel-org-id: ${{ secrets.VERCEL_ORG_ID}} #Required
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID}} #Required
scope: ${{ secrets.VERCEL_SCOPE }}
outputs:
preview-url: ${{ steps.vercel-deploy.outputs.preview-url }}
environment:
name: E2EPreview
url: ${{ steps.vercel-deploy.outputs.preview-url }}
test-e2e:
name: E2E tests
runs-on: ubuntu-latest
needs:
- deploy-e2e-apps
if: github.event.pull_request.head.repo.full_name == github.repository
strategy:
matrix:
node:
- 20.x
max-parallel: 1
fail-fast: true
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: ${{ env.PNPM_VERSION }}
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm build && pnpm build:cjs # cjs build needed to run tests
- env:
TESTING_TARGET_URL: ${{ needs.deploy-e2e-apps.outputs.preview-url }}
run: pnpm run e2e