From 444a7e41e8b5dddc4e44ff5e51cf3e8a6002e616 Mon Sep 17 00:00:00 2001 From: CHIZI-0618 <51962278+CHIZI-0618@users.noreply.github.com> Date: Sun, 9 Apr 2023 07:21:44 +0800 Subject: [PATCH] Update push.yml --- .github/dependabot.yml | 7 -- .github/workflows/push.yml | 199 ++++++------------------------------- 2 files changed, 28 insertions(+), 178 deletions(-) delete mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 3eddd09af..000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,7 +0,0 @@ -version: 2 -updates: - # Maintain dependencies for GitHub Actions - - package-ecosystem: 'github-actions' - directory: '/' - schedule: - interval: 'daily' diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 25601c394..1becb8708 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -1,174 +1,31 @@ -on: [push] -name: Deploy workflow -concurrency: - group: build-${{ github.ref }} - cancel-in-progress: true -jobs: - install: - runs-on: ubuntu-latest - permissions: - contents: write - # https://github.com/actions/deploy-pages - pages: write - id-token: write - strategy: - matrix: - node-version: [20.x] - - steps: - - uses: actions/checkout@v4 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - - - name: Cache pnpm modules - uses: actions/cache@v3 - with: - path: ~/.pnpm-store - key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}- - - - uses: pnpm/action-setup@v2.4.0 - with: - version: 8 - run_install: true - - - name: Lint - run: pnpm lint - - name: Set git commit sha - id: revparse - run: | - echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV - - name: Build - run: pnpm build - - - name: Create Release - if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.ref }} - release_name: ${{ github.ref }} - draft: true - prerelease: false - - name: Create Tar Ball - if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') - run: tar cJf yacd.tar.xz public - - name: Upload Release Asset - if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') - id: upload-release-asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./yacd.tar.xz - asset_name: yacd.tar.xz - asset_content_type: application/x-gzip - - - name: Push to gh-pages - if: github.event_name == 'push' && (startsWith(github.event.ref, 'refs/tags/') || github.event.ref == 'refs/heads/publish') - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PUBLISH_DIR: public - BRANCH: gh-pages - run: | - cd $PUBLISH_DIR - ls -l - git init - git config user.name "${GITHUB_ACTOR}" - git config user.email "${GITHUB_ACTOR}@noreply.github.com" - touch .nojekyll - git add . - git status - git commit -m "Push to gh-pages" - git push -f https://$GITHUB_ACTOR:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git HEAD:$BRANCH - - - name: Send Notification - uses: haishanh/actions-telegram-notification@v1 - if: ${{ always() }} - with: - notification-token: ${{ secrets.TG_NOTIFICATION_TOKEN }} - job-status: ${{ job.status }} +name: Deploy - docker: - needs: install +on: + push: + branches: + - master +jobs: + build: runs-on: ubuntu-latest - if: github.event_name == 'push' && (startsWith(github.event.ref, 'refs/tags/') || startsWith(github.event.ref, 'refs/heads/v0.') || github.event.ref == 'refs/heads/master' || github.event.ref == 'refs/heads/test') steps: - - uses: actions/checkout@v4 - - name: Set git commit sha - id: revparse - run: | - echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV - - - name: Cache Docker layers - uses: actions/cache@v3 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - - name: Docker meta - id: docker_meta - uses: docker/metadata-action@v5 - with: - images: haishanh/yacd - - # - name: Set up QEMU - # uses: docker/setup-qemu-action@v1.2.0 - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - version: latest - - - name: Builder instance name - run: echo ${{ steps.buildx.outputs.name }} - - name: Available platforms - run: echo ${{ steps.buildx.outputs.platforms }} - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ github.actor }} - password: ${{ secrets.DOCKER_HUB_PASSWORD }} - - - name: Login to GHCR - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build and push - id: docker_build - uses: docker/build-push-action@v5 - with: - context: . - file: ./Dockerfile - platforms: linux/amd64,linux/arm/v7,linux/arm64 - push: true - tags: ${{ steps.docker_meta.outputs.tags }},ghcr.io/${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} - cache-from: type=gha - cache-to: type=gha - build-args: | - COMMIT_HASH=${{ env.COMMIT_HASH }} - - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} - - - name: Send Notification - uses: haishanh/actions-telegram-notification@v1 - if: ${{ always() }} - with: - notification-token: ${{ secrets.TG_NOTIFICATION_TOKEN }} - job-status: ${{ job.status }} + - name: Checkout Dashboard code + uses: actions/checkout@v3 + - uses: pnpm/action-setup@v2 + with: + version: latest + - name: Setup Nodejs + uses: actions/setup-node@v3 + with: + node-version: '18.18.0' + cache: pnpm + - name: Install package and build + run: | + pnpm install --frozen-lockfile + pnpm build + - name: Deploy + uses: crazy-max/ghaction-github-pages@v3 + with: + target_branch: gh-pages + build_dir: public + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}