Skip to content

TypeScript Node - Nightly #8

TypeScript Node - Nightly

TypeScript Node - Nightly #8

name: TypeScript Node - Nightly
on:
workflow_dispatch:
push:
branches: [main]
paths:
- 'source/typescript-node/Dockerfile'
jobs:
build-and-push:
runs-on: ubuntu-latest
environment: STAGING
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
- name: Login to Docker Hub
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GHCR
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GH_TOKEN }}
- name: Generate build tag
run: |
TIMESTAMP=$(date +'%Y%m%d')
SHA=$(git rev-parse --short HEAD)
echo "BUILD_TAG=nightly-${TIMESTAMP}-${SHA}" >> $GITHUB_ENV
- name: Build & Push image to registries
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: source/typescript-node
push: true
tags: |
${{ vars.DOCKERHUB_USERNAME }}/typescript-node:${{ env.BUILD_TAG }}
ghcr.io/${{ github.repository_owner }}/typescript-node:${{ env.BUILD_TAG }}
cache-from: type=gha
cache-to: type=gha,mode=max