如何在 GitHub Actions 中使用最新版本标签?

hug*_*ook 3 workflow yaml release github github-actions

我想通过在 GitHub 中创建发布标签来控制发布,例如:

name: deploy-live

on:
  push:
    tags:
      - release-v*
Run Code Online (Sandbox Code Playgroud)

但也可以运行部署来使用 Webhook 重新构建我的静态网站,该 Webhook 采用最新版本标签(并且不包括最新版本标签之后的任何开发工作):

name: deploy-live

on:
  push:
    tags:
      - release-v*
  repository_dispatch:
    types:
      - prismic_content_update
Run Code Online (Sandbox Code Playgroud)

目前,这将从主分支重新构建站点,包括自上次发布标签以来的所有更改。有没有办法在部署之前将 HEAD(不包括更改)重置为最新版本标签?

hug*_*ook 8

我找到了一种通过以下工作流程解决此问题的方法:

name: deploy-live

on:
  push:
    tags:
      - release-v*
  repository_dispatch:
    types:
      - prismic_content_update

concurrency: deploy-live

jobs:
  deploy:
    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os: [ubuntu-latest]
        node: [14]

    steps:
      - name: Checkout
        uses: actions/checkout@master
        with:
          fetch-depth: 0

      - name: Checkout latest release tag
        run: |
          LATEST_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)
          git checkout $LATEST_TAG
Run Code Online (Sandbox Code Playgroud)