chore(deps-dev): bump @types/node from 22.10.10 to 22.12.0 #709
Workflow file for this run
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: | |
pull_request: | |
branches: [main] | |
push: | |
branches: [main] | |
tags: ['v**'] | |
workflow_dispatch: | |
jobs: | |
test_and_lint: | |
name: Test and lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: oven-sh/setup-bun@v2 | |
- run: bun install | |
- run: bun run lint | |
end_to_end_tests_macos: | |
name: Run end to end tests (GitHub.com to GitHub.com on macOS) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: oven-sh/setup-bun@v2 | |
- run: bun install | |
- name: Generate binary for macOS | |
run: bun run package:darwin-arm64 | |
- name: Create `output` directory | |
run: mkdir output | |
- name: Make macOS binary executable | |
run: chmod +x bin/gh-migrate-project-darwin-arm64 | |
- name: Export a project from GitHub.com | |
run: ./bin/gh-migrate-project-darwin-arm64 export --project-owner gh-migrate-project-sandbox --project-number 1026 --disable-telemetry | |
env: | |
EXPORT_GITHUB_TOKEN: ${{ secrets.GH_MIGRATE_PROJECT_SANDBOX_TOKEN }} | |
- name: Copy outputs to output/ directory | |
run: cp project.json output/ && cp repository-mappings.csv output/ | |
- name: Print outputted project data | |
run: cat project.json | |
- name: Print repository mappings template | |
run: cat repository-mappings.csv | |
- name: Fill in repository mappings template | |
run: | | |
echo "source_repository,target_repository | |
gh-migrate-project-sandbox/initial-repository,gh-migrate-project-sandbox/initial-repository" > completed-repository-mappings.csv | |
- name: Import project to GitHub.com | |
run: ./bin/gh-migrate-project-darwin-arm64 import --input-path project.json --repository-mappings-path completed-repository-mappings.csv --project-owner gh-migrate-project-sandbox --disable-telemetry | |
env: | |
IMPORT_GITHUB_TOKEN: ${{ secrets.GH_MIGRATE_PROJECT_SANDBOX_TOKEN }} | |
- name: Upload outputs as artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: macos-outputs | |
path: output | |
end_to_end_tests_linux: | |
name: Run end to end tests (GitHub.com to GitHub.com on Linux) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: oven-sh/setup-bun@v2 | |
- run: bun install | |
- name: Generate binary for Linux | |
run: bun run package:linux-amd64 | |
- name: Create `output` directory | |
run: mkdir output | |
- name: Make Linux binary executable | |
run: chmod +x bin/gh-migrate-project-linux-amd64 | |
- name: Export a project from GitHub.com | |
run: ./bin/gh-migrate-project-linux-amd64 export --project-owner gh-migrate-project-sandbox --project-number 1026 --disable-telemetry | |
env: | |
EXPORT_GITHUB_TOKEN: ${{ secrets.GH_MIGRATE_PROJECT_SANDBOX_TOKEN }} | |
- name: Copy outputs to output/ directory | |
run: cp project.json output/ && cp repository-mappings.csv output/ | |
- name: Print outputted project data | |
run: cat project.json | |
- name: Print repository mappings template | |
run: cat repository-mappings.csv | |
- name: Fill in repository mappings template | |
run: | | |
echo "source_repository,target_repository | |
gh-migrate-project-sandbox/initial-repository,gh-migrate-project-sandbox/initial-repository" > completed-repository-mappings.csv | |
- name: Import project to GitHub.com | |
run: ./bin/gh-migrate-project-linux-amd64 import --input-path project.json --repository-mappings-path completed-repository-mappings.csv --project-owner gh-migrate-project-sandbox --disable-telemetry | |
env: | |
IMPORT_GITHUB_TOKEN: ${{ secrets.GH_MIGRATE_PROJECT_SANDBOX_TOKEN }} | |
- name: Upload outputs as artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-outputs | |
path: output | |
end_to_end_tests_windows: | |
name: Run end to end tests (GitHub.com to GitHub.com on Windows) | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: oven-sh/setup-bun@v2 | |
- run: bun install | |
- name: Generate binary for Windows | |
run: bun run package:windows-amd64 | |
- name: Create `output` directory | |
run: mkdir output | |
- name: Export a project from GitHub.com | |
run: bin/gh-migrate-project-windows-amd64.exe export --project-owner gh-migrate-project-sandbox --project-number 1026 --disable-telemetry | |
env: | |
EXPORT_GITHUB_TOKEN: ${{ secrets.GH_MIGRATE_PROJECT_SANDBOX_TOKEN }} | |
- name: Copy outputs to output/ directory | |
run: cp project.json output/ && cp repository-mappings.csv output/ | |
- name: Print outputted project data | |
run: cat project.json | |
- name: Print repository mappings template | |
run: cat repository-mappings.csv | |
- name: Fill in repository mappings template | |
run: | | |
echo "source_repository,target_repository | |
gh-migrate-project-sandbox/initial-repository,gh-migrate-project-sandbox/initial-repository" > completed-repository-mappings.csv | |
- name: Import project to GitHub.com | |
run: bin/gh-migrate-project-windows-amd64.exe import --input-path project.json --repository-mappings-path completed-repository-mappings.csv --project-owner gh-migrate-project-sandbox --disable-telemetry | |
env: | |
IMPORT_GITHUB_TOKEN: ${{ secrets.GH_MIGRATE_PROJECT_SANDBOX_TOKEN }} | |
- name: Upload outputs as artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: windows-outputs | |
path: output | |
end_to_end_tests_linux_ghes_315: | |
name: Run end to end tests (GitHub.com to GHES v3.15 on Linux) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: oven-sh/setup-bun@v2 | |
- run: bun install | |
- name: Generate binary for Linux | |
run: bun run package:linux-amd64 | |
- name: Create `output` directory | |
run: mkdir output | |
- name: Make Linux binary executable | |
run: chmod +x bin/gh-migrate-project-linux-amd64 | |
- name: Export a project from GitHub.com | |
run: ./bin/gh-migrate-project-linux-amd64 export --project-owner gh-migrate-project-sandbox --project-number 1026 --disable-telemetry | |
env: | |
EXPORT_GITHUB_TOKEN: ${{ secrets.GH_MIGRATE_PROJECT_SANDBOX_TOKEN }} | |
- name: Copy outputs to output/ directory | |
run: cp project.json output/ && cp repository-mappings.csv output/ | |
- name: Print outputted project data | |
run: cat project.json | |
- name: Print repository mappings template | |
run: cat repository-mappings.csv | |
- name: Fill in repository mappings template | |
run: | | |
echo "source_repository,target_repository | |
gh-migrate-project-sandbox/initial-repository,gh-migrate-project-sandbox/initial-repository" > completed-repository-mappings.csv | |
- name: Import project to GHES | |
run: ./bin/gh-migrate-project-linux-amd64 import --input-path project.json --repository-mappings-path completed-repository-mappings.csv --project-owner gh-migrate-project-sandbox --disable-telemetry --base-url ${{ secrets.GHES_315_BASE_URL }} | |
env: | |
IMPORT_GITHUB_TOKEN: ${{ secrets.GHES_315_ACCESS_TOKEN }} | |
- name: Upload outputs as artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-outputs-ghes-315 | |
path: output | |
end_to_end_tests_linux_ghes_314: | |
name: Run end to end tests (GitHub.com to GHES v3.14 on Linux) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: oven-sh/setup-bun@v2 | |
- run: bun install | |
- name: Generate binary for Linux | |
run: bun run package:linux-amd64 | |
- name: Create `output` directory | |
run: mkdir output | |
- name: Make Linux binary executable | |
run: chmod +x bin/gh-migrate-project-linux-amd64 | |
- name: Export a project from GitHub.com | |
run: ./bin/gh-migrate-project-linux-amd64 export --project-owner gh-migrate-project-sandbox --project-number 1026 --disable-telemetry | |
env: | |
EXPORT_GITHUB_TOKEN: ${{ secrets.GH_MIGRATE_PROJECT_SANDBOX_TOKEN }} | |
- name: Copy outputs to output/ directory | |
run: cp project.json output/ && cp repository-mappings.csv output/ | |
- name: Print outputted project data | |
run: cat project.json | |
- name: Print repository mappings template | |
run: cat repository-mappings.csv | |
- name: Fill in repository mappings template | |
run: | | |
echo "source_repository,target_repository | |
gh-migrate-project-sandbox/initial-repository,gh-migrate-project-sandbox/initial-repository" > completed-repository-mappings.csv | |
- name: Import project to GHES | |
run: ./bin/gh-migrate-project-linux-amd64 import --input-path project.json --repository-mappings-path completed-repository-mappings.csv --project-owner gh-migrate-project-sandbox --disable-telemetry --base-url ${{ secrets.GHES_314_BASE_URL }} | |
env: | |
IMPORT_GITHUB_TOKEN: ${{ secrets.GHES_314_ACCESS_TOKEN }} | |
- name: Upload outputs as artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-outputs-ghes-314 | |
path: output | |
end_to_end_tests_linux_ghes_313: | |
name: Run end to end tests (GitHub.com to GHES v3.13 on Linux) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: oven-sh/setup-bun@v2 | |
- run: bun install | |
- name: Generate binary for Linux | |
run: bun run package:linux-amd64 | |
- name: Create `output` directory | |
run: mkdir output | |
- name: Make Linux binary executable | |
run: chmod +x bin/gh-migrate-project-linux-amd64 | |
- name: Export a project from GitHub.com | |
run: ./bin/gh-migrate-project-linux-amd64 export --project-owner gh-migrate-project-sandbox --project-number 1026 --disable-telemetry | |
env: | |
EXPORT_GITHUB_TOKEN: ${{ secrets.GH_MIGRATE_PROJECT_SANDBOX_TOKEN }} | |
- name: Copy outputs to output/ directory | |
run: cp project.json output/ && cp repository-mappings.csv output/ | |
- name: Print outputted project data | |
run: cat project.json | |
- name: Print repository mappings template | |
run: cat repository-mappings.csv | |
- name: Fill in repository mappings template | |
run: | | |
echo "source_repository,target_repository | |
gh-migrate-project-sandbox/initial-repository,gh-migrate-project-sandbox/initial-repository" > completed-repository-mappings.csv | |
- name: Import project to GHES | |
run: ./bin/gh-migrate-project-linux-amd64 import --input-path project.json --repository-mappings-path completed-repository-mappings.csv --project-owner gh-migrate-project-sandbox --disable-telemetry --base-url ${{ secrets.GHES_313_BASE_URL }} | |
env: | |
IMPORT_GITHUB_TOKEN: ${{ secrets.GHES_313_ACCESS_TOKEN }} | |
- name: Upload outputs as artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-outputs-ghes-313 | |
path: output | |
end_to_end_tests_linux_ghes_312: | |
name: Run end to end tests (GitHub.com to GHES v3.12 on Linux) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: oven-sh/setup-bun@v2 | |
- run: bun install | |
- name: Generate binary for Linux | |
run: bun run package:linux-amd64 | |
- name: Create `output` directory | |
run: mkdir output | |
- name: Make Linux binary executable | |
run: chmod +x bin/gh-migrate-project-linux-amd64 | |
- name: Export a project from GitHub.com | |
run: ./bin/gh-migrate-project-linux-amd64 export --project-owner gh-migrate-project-sandbox --project-number 1026 --disable-telemetry | |
env: | |
EXPORT_GITHUB_TOKEN: ${{ secrets.GH_MIGRATE_PROJECT_SANDBOX_TOKEN }} | |
- name: Copy outputs to output/ directory | |
run: cp project.json output/ && cp repository-mappings.csv output/ | |
- name: Print outputted project data | |
run: cat project.json | |
- name: Print repository mappings template | |
run: cat repository-mappings.csv | |
- name: Fill in repository mappings template | |
run: | | |
echo "source_repository,target_repository | |
gh-migrate-project-sandbox/initial-repository,gh-migrate-project-sandbox/initial-repository" > completed-repository-mappings.csv | |
- name: Import project to GHES | |
run: ./bin/gh-migrate-project-linux-amd64 import --input-path project.json --repository-mappings-path completed-repository-mappings.csv --project-owner gh-migrate-project-sandbox --disable-telemetry --base-url ${{ secrets.GHES_312_BASE_URL }} | |
env: | |
IMPORT_GITHUB_TOKEN: ${{ secrets.GHES_312_ACCESS_TOKEN }} | |
- name: Upload outputs as artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-outputs-ghes-312 | |
path: output | |
package_macos: | |
name: Package binaries (macOS) | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: oven-sh/setup-bun@v2 | |
- run: bun install | |
- name: Generate binary for macOS ARM64 | |
run: bun run package:darwin-arm64 | |
- name: Generate binary for macOS AMD64 | |
run: bun run package:darwin-amd64 | |
- name: Upload macOS ARM64 binary as artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: package-macos-arm64 | |
path: bin/gh-migrate-project-darwin-arm64 | |
- name: Upload macOS AMD64 binary as artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: package-macos-amd64 | |
path: bin/gh-migrate-project-darwin-amd64 | |
package: | |
name: Package binaries (Windows and Linux) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: oven-sh/setup-bun@v2 | |
- run: bun install | |
- name: Generate binary for Linux AMD64 | |
run: bun run package:linux-amd64 | |
- name: Generate binary for Linux ARM64 | |
run: bun run package:linux-arm64 | |
- name: Generate binary for Windows AMD64 | |
run: bun run package:windows-amd64 | |
- name: Upload Linux AMD64 binary as artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: package-linux-amd64 | |
path: bin/gh-migrate-project-linux-amd64 | |
- name: Upload Linux ARM64 binary as artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: package-linux-arm64 | |
path: bin/gh-migrate-project-linux-arm64 | |
- name: Upload Windows binary as artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: package-windows | |
path: bin/gh-migrate-project-windows-amd64.exe | |
check_release_tag_matches_version: | |
name: Check release tag matches version | |
if: startsWith(github.ref, 'refs/tags/') | |
runs-on: ubuntu-latest | |
needs: | |
[ | |
'package', | |
'package_macos', | |
'test_and_lint', | |
'end_to_end_tests_linux_ghes_315', | |
'end_to_end_tests_linux_ghes_314', | |
'end_to_end_tests_linux_ghes_313', | |
'end_to_end_tests_linux_ghes_312', | |
'end_to_end_tests_windows', | |
'end_to_end_tests_linux', | |
'end_to_end_tests_macos', | |
] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Get the version | |
id: get_tag_version | |
run: echo ::set-output name=version::${GITHUB_REF#refs/tags/} | |
- name: Check version matches | |
run: ./script/check-version ${{ steps.get_tag_version.outputs.version }} | |
create_release: | |
name: Create release | |
if: startsWith(github.ref, 'refs/tags/') | |
runs-on: ubuntu-latest | |
needs: ['check_release_tag_matches_version'] | |
permissions: | |
contents: write | |
steps: | |
- name: Download Windows binary | |
uses: actions/download-artifact@v4 | |
with: | |
name: package-windows | |
path: bin | |
- name: Download macOS AMD64 binary | |
uses: actions/download-artifact@v4 | |
with: | |
name: package-macos-amd64 | |
path: bin | |
- name: Download macOS ARM64 binary | |
uses: actions/download-artifact@v4 | |
with: | |
name: package-macos-arm64 | |
path: bin | |
- name: Download Linux AMD64 binary | |
uses: actions/download-artifact@v4 | |
with: | |
name: package-linux-amd64 | |
path: bin | |
- name: Download Linux ARM64 binary | |
uses: actions/download-artifact@v4 | |
with: | |
name: package-linux-arm64 | |
path: bin | |
- name: Create GitHub release | |
uses: softprops/action-gh-release@v2 | |
with: | |
files: | | |
bin/gh-migrate-project-darwin-amd64 | |
bin/gh-migrate-project-darwin-arm64 | |
bin/gh-migrate-project-linux-amd64 | |
bin/gh-migrate-project-linux-arm64 | |
bin/gh-migrate-project-windows-amd64.exe | |
generate_release_notes: true |