Skip to content
name: Test Scratch Auth Next.js Package
on:
push:
paths:
- "packages/nextjs/**"
pull_request:
paths:
- "packages/nextjs/**"
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
env:
SCRATCH_AUTH_SECRET_KEY: ${{ secrets.SCRATCH_AUTH_SECRET_KEY }}
NEXT_PUBLIC_REDIRECT_URL: "http://localhost:3000/api/auth"
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Log in to Docker Hub
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: "18"
- name: Install dependencies for test package
working-directory: test/nextjs
run: npm install
- name: NPM Link for test package
working-directory: packages/nextjs
run: npm link
- name: Install dependencies & @scratch-auth/nextjs for test package
working-directory: test/nextjs
run: |
npm install && npm link @scratch-auth/nextjs
- name: Start the Next.js application
working-directory: test/nextjs
run: npm run dev & # 開発サーバーをバックグラウンドで起動
- name: Wait for server to be ready
run: |
sleep 10
npx wait-on http://localhost:3000
- name: Run authentication test
run: |
curl -X POST http://localhost:3000/api/auth -d "privateCode=test"
echo "Testing authentication successful"
- name: Stop services
run: |
kill $(lsof -t -i:3000) || true
if: always()
- name: Upload test results
if: failure()
uses: actions/upload-artifact@v3
with:
name: nextjs-scratch-auth-test-results
path: packages/nextjs/test-results