docs: add script to help working on the compiler (#3674) #122
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy docker image to ghcr | |
# Deploy docker image to ghcr on pushes to master and all releases/tags. | |
# Note releases to docker hub are managed separately in another process | |
# (github sends webhooks to docker hub which triggers the build there). | |
# This workflow is an alternative form of retention for docker images | |
# which also allows us to tag and retain every single commit to master. | |
on: | |
push: | |
branches: | |
- master | |
release: | |
types: [released] | |
env: | |
REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }} | |
jobs: | |
deploy-ghcr: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
# need to fetch unshallow so that setuptools_scm can infer the version | |
fetch-depth: 0 | |
- uses: actions/setup-python@v4 | |
name: Install python | |
with: | |
python-version: "3.11" | |
cache: "pip" | |
- name: Generate vyper/version.py | |
run: | | |
pip install . | |
echo "VYPER_VERSION=$(PYTHONPATH=. python vyper/cli/vyper_compile.py --version)" >> "$GITHUB_ENV" | |
- name: generate tag suffix | |
if: ${{ github.event_name != 'release' }} | |
run: echo "VERSION_SUFFIX=-dev" >> "$GITHUB_ENV" | |
- name: Docker meta | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
tags: | | |
type=ref,event=tag | |
type=raw,value=${{ env.VYPER_VERSION }}${{ env.VERSION_SUFFIX }} | |
type=raw,value=dev,enable=${{ github.ref == 'refs/heads/master' }} | |
type=raw,value=latest,enable=${{ github.event_name == 'release' }} | |
- name: Login to ghcr.io | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: . | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} |