diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 86104dd..8077220 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,9 +9,25 @@ updates: directory: "/" schedule: interval: "daily" + groups: + angular: + applies-to: version-updates + patterns: + - "tar" + update-types: + - "minor" + - "patch" # /packages ディレクトリ内の npm パッケージの依存関係をチェック - package-ecosystem: "npm" directory: "/packages/nextjs" schedule: interval: "daily" + groups: + angular: + applies-to: version-updates + patterns: + - "tar" + update-types: + - "minor" + - "patch" diff --git a/.github/workflows/nextjs-package-test.yml b/.github/workflows/nextjs-package-test.yml new file mode 100644 index 0000000..e569532 --- /dev/null +++ b/.github/workflows/nextjs-package-test.yml @@ -0,0 +1,70 @@ +name: Test Scratch Auth Next.js Package + +on: + push: + paths: + - "packages/nextjs/**" + pull_request: + paths: + - "packages/nextjs/**" + +jobs: + test: + runs-on: ubuntu-latest + + services: + scratch-auth: + image: scratch-auth/scratch-auth:latest + ports: + - 4000:4000 + options: >- + --env SCRATCH_AUTH_SECRET_KEY=${{ secrets.SCRATCH_AUTH_SECRET_KEY }} + # 環境変数をsecretsに設定しておき、GitHub Actionsから参照します。 + + env: + SCRATCH_AUTH_SECRET_KEY: ${{ secrets.SCRATCH_AUTH_SECRET_KEY }} + NEXT_PUBLIC_REDIRECT_URL: "http://localhost:3000/api/auth" + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: "18" + + - name: Install dependencies + working-directory: packages/nextjs + run: npm install + + - name: Run build + working-directory: packages/nextjs + run: npm run build + + - name: Set environment variables for Scratch Auth + run: echo "SCRATCH_AUTH_SECRET_KEY=$SCRATCH_AUTH_SECRET_KEY" >> $GITHUB_ENV + + - name: Start the Next.js application + working-directory: packages/nextjs + run: npm run dev & + + - name: Wait for server to be ready + run: 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) + 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 diff --git a/packages/nextjs/.gitignore b/packages/nextjs/.gitignore index 5e52727..d883a55 100644 --- a/packages/nextjs/.gitignore +++ b/packages/nextjs/.gitignore @@ -1,2 +1,4 @@ /node_modules package-lock.json +# Ignore test results +test-results/ \ No newline at end of file