name: CI/CD Pipeline for Docker Tag Push on: push: tags: - 'v*' jobs: test: runs-on: ubuntu-latest strategy: matrix: node-version: - 22.x steps: - name: Checkout repository uses: actions/checkout@v4 - name: 'Use Node.js ${{ matrix.node-version }}' uses: actions/setup-node@v4 with: node-version: '${{ matrix.node-version }}' - name: Install dependencies run: npm ci - name: Run tests run: npm test timeout-minutes: 5 docker: needs: test runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub uses: docker/login-action@v2 with: username: '${{ secrets.DOCKER_HUB_USERNAME }}' password: '${{ secrets.DOCKER_HUB_TOKEN }}' - name: Build and push with dynamic tag uses: docker/build-push-action@v5 with: platforms: linux/amd64,linux/arm64,linux/arm/v7 push: true tags: | avoylenko/wwebjs-api:${{ github.ref_name }} avoylenko/wwebjs-api:latest