solutions/.github/workflows/build-push-template.yml

50 lines
1.6 KiB
YAML

name: Build and Push template
on:
push:
branches:
- master
jobs:
build-push-template:
if: ${{ github.repository == 'substrate-developer-hub/substrate-node-template' }}
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Build and push the node-template Docker image
uses: docker/build-push-action@v1 # https://github.com/docker/build-push-action
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
dockerfile: .devcontainer/Dockerfile
repository: paritytech/substrate-playground-template-node-template
tags: latest
add_git_labels: true
tag_with_ref: true
tag_with_sha: true
- run: echo ::set-output name=image::paritytech/substrate-playground-template-node-template:sha-${GITHUB_SHA::7}
id: env
- name: Update devcontainer.json
run: |-
t=$(mktemp)
cat .devcontainer/devcontainer.json | jq ".image = \"${{ steps.env.outputs.image }}\"" > ${t} && mv ${t} .devcontainer/devcontainer.json
- name: Commit .devcontainer.json update
uses: EndBug/add-and-commit@v4
with:
message: ":bookmark: update image"
add: ".devcontainer/devcontainer.json"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Trigger playground inclusion
uses: peter-evans/repository-dispatch@v1
with:
token: ${{ secrets.REPO_ACCESS_TOKEN }}
repository: paritytech/substrate-playground
event-type: template-updated
client-payload: '{"id": "node-template", "image": "${{ steps.env.outputs.image }}"}'