githubgithub-apigithub-actions

Get current date and time in GitHub workflows


I have a GitHub workflow for releasing nightly snapshots of the repository. It uses the create-release action. This is how the workflow file looks right now:

name: Release Nightly Snapshot

on:
  schedule:
  - cron: "0 0 * * *"

jobs:
  build:
    name: Release Nightly Snapshot
    runs-on: ubuntu-latest
    steps:
      - name: Checkout master Branch
        uses: actions/checkout@v2
        with:
          ref: 'master'
      - name: Create Release
        id: nightly-snapshot
        uses: actions/create-release@latest
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: 'nightly snapshot'
          release_name: 'nightly snapshot'
          draft: false
          prerelease: false

I want tag_name and release_name to use the current date and time, instead of hard-coded values. However, I couldn't find any documentation on it. How should I do it?


Solution

  • From this post you can create a step that set its output with the value $(date +'%Y-%m-%d')

    Then use this output using ${{ steps.date.outputs.date }}. The following show an example for environment variables and for inputs :

    on: [push, pull_request]
    name: build
    jobs:
      build:
        name: Example
        runs-on: ubuntu-latest
        steps:
          - name: Get current date
            id: date
            run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
          - name: Test with environment variables
            run: echo $TAG_NAME - $RELEASE_NAME
            env:
              TAG_NAME: nightly-tag-${{ steps.date.outputs.date }}
              RELEASE_NAME: nightly-release-${{ steps.date.outputs.date }}
          - name: Test with input
            uses: actions/hello-world-docker-action@master
            with:
              who-to-greet: Mona-the-Octocat-${{ steps.date.outputs.date }}
    

    Outputs :

    * Test with environment variables
    nightly-tag-2020-03-31 - nightly-release-2020-03-31
    
    * Test with input
    Hello Mona-the-Octocat-2020-03-31