name: Cache Npx on: [push] env: DOCKER_REGISTRY: git.zgfxrc.cn DOCKER_USERNAME: huanghs jobs: task: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Get npm cache dir id: npm-cache-dir run: echo "dir=$(npm config get cache)" >> ${GITHUB_OUTPUT} - run: echo "${{ steps.npm-cache-dir.outputs.dir }}" - name: Cache npx uses: actions/cache@v3 with: path: ${{ steps.npm-cache-dir.outputs.dir }}/_npx key: ${{ runner.os }}-npx - run: npx cloc . - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker BuildX uses: docker/setup-buildx-action@v2 - name: Login to DockerHub uses: docker/login-action@v2 with: registry: ${{ env.DOCKER_REGISTRY }} username: ${{ env.DOCKER_USERNAME }} password: ${{ secrets.GIT_DOCKER_PASSWORD }} - name: Cache docker build uses: actions/cache@v3 with: path: /opt/docker-cache/.build-cache key: ${{ runner.os }}-${{ steps.meta.outputs.REPO_NAME }}-docker-build-cache - name: Build and push uses: docker/build-push-action@v4 with: context: . file: ./docker/Dockerfile platforms: | linux/amd64 linux/arm64 push: true tags: | ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_USERNAME }}/action-demo:latest cache-from: type=local,src=/opt/docker-cache/.build-cache cache-to: type=local,dest=/opt/docker-cache/.build-cache,mode=max