diff --git a/.bun-version b/.bun-version new file mode 100644 index 000000000..2818446a4 --- /dev/null +++ b/.bun-version @@ -0,0 +1 @@ +1.1.40 diff --git a/.github/composite/setup-bun/action.yaml b/.github/composite/setup-bun/action.yaml new file mode 100644 index 000000000..62c7848b9 --- /dev/null +++ b/.github/composite/setup-bun/action.yaml @@ -0,0 +1,18 @@ +name: 'Setup Bun' +description: 'Install Bun and cache dependencies' +runs: + using: 'composite' + steps: + # We cache dependencies even if Bun is fast to avoid downloading fontawesome too many times + # and impacting bandwidth there. + - name: Cache bun + uses: actions/cache@v4 + with: + path: ~/.bun/install/cache + key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}-${{ hashFiles('**/bun.lock') }} + restore-keys: | + ${{ runner.os }}-bun- + - name: Setup bun + uses: oven-sh/setup-bun@v2 + with: + bun-version-file: '.bun-version' diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1612f1c07..0387c2c47 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -5,7 +5,7 @@ on: branches: - main env: - NPMRC_FONT_AWESOME_TOKEN: ${{ secrets.NPMRC_FONT_AWESOME_TOKEN }} + NPM_TOKEN_READONLY: ${{ secrets.NPM_TOKEN_READONLY }} jobs: deploy: name: Deploy to Cloudflare Pages @@ -22,10 +22,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup bun - uses: oven-sh/setup-bun@v1 - with: - bun-version: 1.1.18 + - name: Setup Bun + uses: ./.github/composite/setup-bun - name: Install dependencies run: bun install --frozen-lockfile env: @@ -102,10 +100,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup bun - uses: oven-sh/setup-bun@v1 - with: - bun-version: 1.1.18 + - name: Setup Bun + uses: ./.github/composite/setup-bun - name: Install dependencies run: bun install --frozen-lockfile - name: Setup Playwright @@ -128,10 +124,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup bun - uses: oven-sh/setup-bun@v1 - with: - bun-version: 1.1.18 + - name: Setup Bun + uses: ./.github/composite/setup-bun - name: Install dependencies run: bun install --frozen-lockfile env: @@ -147,10 +141,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup bun - uses: oven-sh/setup-bun@v1 - with: - bun-version: 1.1.18 + - name: Setup Bun + uses: ./.github/composite/setup-bun - name: Install dependencies run: bun install --frozen-lockfile env: @@ -162,10 +154,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup bun - uses: oven-sh/setup-bun@v1 - with: - bun-version: 1.1.18 + - name: Setup Bun + uses: ./.github/composite/setup-bun - name: Install dependencies run: bun install --frozen-lockfile env: @@ -177,10 +167,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup bun - uses: oven-sh/setup-bun@v1 - with: - bun-version: 1.1.18 + - name: Setup Bun + uses: ./.github/composite/setup-bun - name: Install dependencies run: bun install --frozen-lockfile env: @@ -191,16 +179,14 @@ jobs: runs-on: ubuntu-latest name: Build (Open Source) env: - NPMRC_FONT_AWESOME_TOKEN: '' + NPM_TOKEN_READONLY: '' steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup bun - uses: oven-sh/setup-bun@v1 - with: - bun-version: 1.1.18 + - name: Setup Bun + uses: ./.github/composite/setup-bun - name: Install dependencies - run: bun install --frozen-lockfile + run: bun install env: PUPPETEER_SKIP_DOWNLOAD: 1 - run: bun run build @@ -210,10 +196,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup bun - uses: oven-sh/setup-bun@v1 - with: - bun-version: 1.1.18 + - name: Setup Bun + uses: ./.github/composite/setup-bun - name: Install dependencies run: bun install --frozen-lockfile env: diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index c232ebd72..c73ac6cbf 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -17,10 +17,8 @@ jobs: with: # This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits fetch-depth: 0 - - name: Setup bun - uses: oven-sh/setup-bun@v1 - with: - bun-version: 1.1.18 + - name: Setup Bun + uses: ./.github/composite/setup-bun - name: Install dependencies run: bun install --frozen-lockfile env: @@ -34,7 +32,7 @@ jobs: # Using a PAT instead of GITHUB_TOKEN because we need to run workflows when releases are created # https://github.com/orgs/community/discussions/26875#discussioncomment-3253761 GITHUB_TOKEN: ${{ secrets.GH_PERSONAL_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN_READONLY: ${{ secrets.NPM_TOKEN_READONLY }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} release-preview: @@ -45,10 +43,8 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v3 - - name: Setup bun - uses: oven-sh/setup-bun@v1 - with: - bun-version: 1.1.18 + - name: Setup Bun + uses: ./.github/composite/setup-bun - name: Install dependencies run: bun install --frozen-lockfile env: diff --git a/bun.lockb b/bun.lockb index 1b543f8ea..13da417e7 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/bunfig.toml b/bunfig.toml index 88a0a88dd..171696766 100644 --- a/bunfig.toml +++ b/bunfig.toml @@ -1,2 +1,2 @@ [install.scopes] -"awesome.me" = { token = "$NPMRC_FONT_AWESOME_TOKEN", url = "https://npm.fontawesome.com/" } +"gitbook" = { token = "$NPM_TOKEN_READONLY", url = "https://registry.npmjs.org" } diff --git a/packages/icons/bin/kit.js b/packages/icons/bin/kit.js index c44409e49..b565ca900 100644 --- a/packages/icons/bin/kit.js +++ b/packages/icons/bin/kit.js @@ -11,7 +11,7 @@ export function getKitPath() { try { source = path.resolve( path.dirname( - url.fileURLToPath(import.meta.resolve('@awesome.me/kit-a463935e93/package.json')), + url.fileURLToPath(import.meta.resolve('@gitbook/fontawesome-pro/package.json')), ), 'icons', ); diff --git a/packages/icons/package.json b/packages/icons/package.json index b41d788fc..7cdf94a4f 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -22,7 +22,7 @@ "@fortawesome/fontawesome-free": "^6.6.0" }, "optionalDependencies": { - "@awesome.me/kit-a463935e93": "1.0.8" + "@gitbook/fontawesome-pro": "1.0.8" }, "devDependencies": { "typescript": "^5.5.3"