From 94fe84d44ee272379edb322fef7ec80de2d598fd Mon Sep 17 00:00:00 2001 From: Kael Date: Fri, 25 Oct 2024 18:25:47 +1100 Subject: [PATCH] chore(ci): remove vercel, simplify workflows --- .github/actions/download-artifact/action.yml | 31 --------- .github/actions/nightly-release/action.yml | 2 +- .github/actions/pnpm-install/action.yml | 15 ----- .github/actions/upload-artifact/action.yml | 46 -------------- .github/workflows/ci.yml | 67 ++++++-------------- .github/workflows/nightly-schedule.yml | 2 +- .vercelignore | 6 -- scripts/deploy-and-alias.js | 28 -------- vercel.json | 53 ---------------- 9 files changed, 21 insertions(+), 229 deletions(-) delete mode 100644 .github/actions/download-artifact/action.yml delete mode 100644 .github/actions/pnpm-install/action.yml delete mode 100644 .github/actions/upload-artifact/action.yml delete mode 100644 .vercelignore delete mode 100644 scripts/deploy-and-alias.js delete mode 100644 vercel.json diff --git a/.github/actions/download-artifact/action.yml b/.github/actions/download-artifact/action.yml deleted file mode 100644 index eec6a45835b..00000000000 --- a/.github/actions/download-artifact/action.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Download artifact -description: Wrapper around GitHub's official action, with additional extraction before download -# https://github.com/actions/upload-artifact/issues/199#issuecomment-1516555821 - -inputs: - name: - description: Artifact name - required: true - path: - description: Destination path - required: false - default: . - -runs: - using: composite - steps: - - name: Download artifacts - uses: actions/download-artifact@v4 - with: - name: ${{ inputs.name }} - path: ${{ inputs.path }} - - - name: Extract artifacts - run: tar -xvf ${{ inputs.name }}.tar - shell: bash - working-directory: ${{ inputs.path }} - - - name: Remove archive - run: rm -f ${{ inputs.name }}.tar - shell: bash - working-directory: ${{ inputs.path }} diff --git a/.github/actions/nightly-release/action.yml b/.github/actions/nightly-release/action.yml index 42a0e37a855..d832f95f9bc 100644 --- a/.github/actions/nightly-release/action.yml +++ b/.github/actions/nightly-release/action.yml @@ -35,7 +35,7 @@ runs: repository: ${{ inputs.checkout-repo }} ref: ${{ inputs.checkout-ref }} fetch-depth: 0 - - uses: ./.github/actions/pnpm-install + - uses: vuetifyjs/setup-action@master - run: >- node -e " const json = require('./lerna.json'); diff --git a/.github/actions/pnpm-install/action.yml b/.github/actions/pnpm-install/action.yml deleted file mode 100644 index db110e7a22d..00000000000 --- a/.github/actions/pnpm-install/action.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: pnpm install -description: Restore node_modules and cache, then run pnpm install - -runs: - using: composite - steps: - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 - with: - cache: 'pnpm' - node-version-file: '.nvmrc' - - run: pnpm --version - shell: bash - - run: pnpm i --frozen-lockfile - shell: bash diff --git a/.github/actions/upload-artifact/action.yml b/.github/actions/upload-artifact/action.yml deleted file mode 100644 index 32e7bdee35a..00000000000 --- a/.github/actions/upload-artifact/action.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Upload artifact -description: Wrapper around GitHub's official action, with additional archiving before upload -# https://github.com/actions/upload-artifact/issues/199#issuecomment-1516555821 - -inputs: - name: - description: Artifact name - required: true - path: - description: A file, directory or wildcard pattern that describes what to upload - required: true - if-no-files-found: - description: > - The desired behavior if no files are found using the provided path. - Available Options: - warn: Output a warning but do not fail the action - error: Fail the action with an error message - ignore: Do not output any warnings or errors, the action does not fail - required: false - default: warn - retention-days: - description: > - Duration after which artifact will expire in days. 0 means using default retention. - Minimum 1 day. - Maximum 90 days unless changed from the repository settings page. - required: false - default: '0' - -runs: - using: composite - steps: - - name: Archive artifacts - run: tar -cvf ${{ inputs.name }}.tar ${{ inputs.path }} - shell: bash - - - name: Upload artifacts - uses: actions/upload-artifact@v4 - with: - if-no-files-found: ${{ inputs.if-no-files-found }} - name: ${{ inputs.name }} - path: ${{ inputs.name }}.tar - retention-days: ${{ inputs.retention-days }} - - - name: Remove archive - run: rm -f ${{ inputs.name }}.tar - shell: bash diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f910f9508f..9c49760fe7b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,12 +31,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/pnpm-install + - uses: vuetifyjs/setup-action@master - run: pnpm build vuetify - - uses: ./.github/actions/upload-artifact + - uses: actions/upload-artifact@v4 with: name: vuetify-dist - path: > + path: | packages/vuetify/dist packages/vuetify/lib @@ -51,10 +51,10 @@ jobs: scopes: ['--scope vuetify --scope @vuetify/api-generator', '--scope vuetifyjs.com'] steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/download-artifact + - uses: actions/download-artifact@v4 with: name: vuetify-dist - - uses: ./.github/actions/pnpm-install + - uses: vuetifyjs/setup-action@master - run: pnpm lerna run lint $SCOPES env: SCOPES: ${{ matrix.scopes }} @@ -66,7 +66,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/pnpm-install + - uses: vuetifyjs/setup-action@master - run: pnpm run test --project unit working-directory: ./packages/vuetify @@ -77,7 +77,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/pnpm-install + - uses: vuetifyjs/setup-action@master - run: pnpm run test --project browser working-directory: ./packages/vuetify @@ -89,10 +89,10 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: ./.github/actions/download-artifact + - uses: actions/download-artifact@v4 with: name: vuetify-dist - - uses: ./.github/actions/pnpm-install + - uses: vuetifyjs/setup-action@master - run: pnpm build api - run: echo "RELEASE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV - name: NPM Release @@ -114,10 +114,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/download-artifact + - uses: actions/download-artifact@v4 with: name: vuetify-dist - - uses: ./.github/actions/pnpm-install + - uses: vuetifyjs/setup-action@master - uses: ./.github/actions/download-locales - run: pnpm build api - run: pnpm build docs @@ -134,53 +134,24 @@ jobs: VITE_EMAILJS_TEMPLATE_ID: ${{ secrets.EMAILJS_TEMPLATE_ID }} VITE_API_SERVER_URL: ${{ secrets.API_SERVER_URL }} VITE_GITHUB_SHA: ${{ github.sha }} - - uses: ./.github/actions/upload-artifact + - uses: actions/upload-artifact@v4 with: name: docs-dist path: packages/docs/dist - publish-docs-vercel: - needs: [lint, test-unit, build-docs] - runs-on: ubuntu-latest - if: github.event_name == 'push' && github.repository_owner == 'vuetifyjs' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/next') - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/download-artifact - with: - name: docs-dist - - uses: ./.github/actions/pnpm-install - - run: pnpm add vercel --global - - run: node scripts/deploy-and-alias.js ${{ github.ref }} - env: - NOW_TOKEN: ${{ secrets.NOW_TOKEN }} - - publish-docs-coolify: + publish-docs: needs: [lint, test-unit, build-docs] runs-on: ubuntu-latest environment: Production if: github.event_name == 'push' && github.repository_owner == 'vuetifyjs' && github.ref == 'refs/heads/master' steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/download-artifact + - uses: actions/download-artifact@v4 with: name: docs-dist - - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - id: meta - uses: docker/metadata-action@v5 - with: - images: ghcr.io/vuetifyjs/docs - - uses: docker/build-push-action@v6 + - uses: vuetifyjs/coolify-action@master with: - context: . - file: Dockerfile - platforms: linux/amd64 - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - name: Deploy to Coolify - run: | - curl --request GET '${{ secrets.COOLIFY_WEBHOOK }}' --header 'Authorization: Bearer ${{ secrets.COOLIFY_TOKEN }}' + token: ${{ secrets.GITHUB_TOKEN }} + imageName: docs + coolifyWebhook: ${{ secrets.COOLIFY_WEBHOOK }} + coolifySecret: ${{ secrets.COOLIFY_TOKEN }} diff --git a/.github/workflows/nightly-schedule.yml b/.github/workflows/nightly-schedule.yml index 6dea032fa96..4bebb563b90 100644 --- a/.github/workflows/nightly-schedule.yml +++ b/.github/workflows/nightly-schedule.yml @@ -64,7 +64,7 @@ jobs: echo "Last commit was more than 24 hours ago, skipping tests" exit 1 fi - - uses: ./.github/actions/pnpm-install + - uses: vuetifyjs/setup-action@master - run: echo "COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV - run: pnpm cy:run working-directory: ./packages/vuetify diff --git a/.vercelignore b/.vercelignore deleted file mode 100644 index be2cda03b58..00000000000 --- a/.vercelignore +++ /dev/null @@ -1,6 +0,0 @@ -node_modules -/scripts -/packages/vuetify -/packages/api-generator -/packages/docs/src -!/packages/docs/dist diff --git a/scripts/deploy-and-alias.js b/scripts/deploy-and-alias.js deleted file mode 100644 index 6e2fcebc8c0..00000000000 --- a/scripts/deploy-and-alias.js +++ /dev/null @@ -1,28 +0,0 @@ -const shell = require('shelljs') - -const alias = { - 'refs/heads/master': 'vuetifyjs.com', - 'refs/heads/dev': 'dev.vuetifyjs.com', - 'refs/heads/next': 'next.vuetifyjs.com', -}[process.argv[2]] - -if (!alias) { - console.error('Alias not defined') - process.exit(1) -} - -const options = { - env: { - ...process.env, - VERCEL_PROJECT_ID: 'prj_g3MO7ck0yciUrIbtahRVD9epWbYJ', - VERCEL_ORG_ID: 'team_MYQkaFitxJXQ2v3dioJaj2nx', - }, -} - -const child = shell.exec('vercel --scope=vuetifyjs --token=$NOW_TOKEN --confirm', options) -if (child.code !== 0) { - process.exit(child.code) -} -const instanceUrl = child.stdout - -shell.exec(`vercel alias set ${instanceUrl} ${alias} --scope=vuetifyjs --token=$NOW_TOKEN`, options) diff --git a/vercel.json b/vercel.json deleted file mode 100644 index b4e2d8de1e0..00000000000 --- a/vercel.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "version": 2, - "cleanUrls": false, - "trailingSlash": true, - "rewrites": [ - { - "source": "/(.*)", - "destination": "$1" - }, - { - "source": "/((?!assets/).*)", - "destination": "/_fallback.html" - } - ], - "headers": [ - { - "source": "/(.*)", - "headers" : [ - { - "key" : "Cache-Control", - "value" : "public, max-age=3600, s-maxage=60" - } - ] - }, - { - "source": "/assets/(.*)", - "headers": [ - { - "key" : "Cache-Control", - "value" : "public, immutable, max-age=31536000, stale-if-error=604800, s-maxage=300" - } - ] - }, - { - "source": "/service-worker.js", - "headers" : [ - { - "key" : "Cache-Control", - "value" : "public, max-age=0, s-maxage=60, must-revalidate" - }, - { - "key" : "CDN-Cache-Control", - "value" : "max-age=60" - } - ] - } - ], - "github": { - "enabled": false, - "autoAlias": false, - "silent": true - } -}