Skip to content

don't use a keyfile for ssl cert (#265) #76

don't use a keyfile for ssl cert (#265)

don't use a keyfile for ssl cert (#265) #76

Workflow file for this run

name: Release Suite
on:
push:
tags:
- v*
env:
REPO_NAME: ${{ github.repository_owner }}/siren
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
IMAGE_NAME: ${{ secrets.DOCKER_USERNAME }}/siren
jobs:
extract-version:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Extract version
run: echo "VERSION=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_OUTPUT
# Used for running without tags
# run: echo "VERSION=$(cat package.json | jq '.["version"]' | tr -d '"')" >> $GITHUB_OUTPUT
id: extract_version
outputs:
VERSION: ${{ steps.extract_version.outputs.VERSION }}
draft-release:
name: Draft Release
needs: [extract-version]
runs-on: ubuntu-latest
env:
VERSION: ${{ needs.extract-version.outputs.VERSION }}
steps:
# This is necessary for generating the changelog. It has to come before "Download Artifacts" or else it deletes the artifacts.
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 0
# ==============================
# Create release draft
# ==============================
- name: Generate Full Changelog
id: changelog
run: |
echo "CHANGELOG<<EOF" >> $GITHUB_OUTPUT
echo "$(git log --pretty=format:"- %s" $(git describe --tags --abbrev=0 ${{ env.VERSION }}^)..${{ env.VERSION }})" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Create Release Draft
env:
GITHUB_USER: ${{ github.repository_owner }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# The formatting here is borrowed from OpenEthereum: https://github.com/openethereum/openethereum/blob/main/.github/workflows/build.yml
run: |
body=$(cat <<- "ENDBODY"
<Release Name>
## Release Checklist (DELETE ME)
- [ ] Merge `unstable` -> `stable`.
- [ ] Ensure docker images are published to `sigp` namespace (instructions below)
- [ ] Prepare Discord post.
Someone with appropriate access rights should run these commands:
0. sanity check: did the `docker` workflow complete correctly, are the images published under the `sigmaprime` namespace?
see: https://hub.docker.com/r/${{ env.DOCKER_USERNAME }}/siren/tags?name=${{ env.VERSION }} and https://hub.docker.com/r/${{ env.DOCKER_USERNAME }}/siren/tags?name=latest
1. publish `latest`:
`docker manifest create sigp/siren:latest --amend sigmaprime/siren:latest-amd64 --amend sigmaprime/siren:latest-arm64`
`docker manifest push sigp/siren:latest`
2. publish `${{ env.VERSION }}`:
`docker manifest create sigp/siren:${{ env.VERSION }} --amend sigmaprime/siren:${{ env.VERSION }}-amd64 --amend sigmaprime/siren:${{ env.VERSION }}-arm64`
`docker manifest push sigp/siren:${{ env.VERSION }}`
3. verify: https://hub.docker.com/r/siren/siren/tags?name=${{ env.VERSION }} and https://hub.docker.com/r/sigp/siren/tags?name=latest
## Summary
Add a summary.
## Update Priority
This table provides priorities for which classes of users should update particular components.
|User Class |Beacon Node | Validator Client|
--- | --- | ---
|Staking Users| <TODO> | <TODO> |
|Non-Staking Users| <TODO>|---|
## All Changes
${{ steps.changelog.outputs.CHANGELOG }}
## Docker Hub
https://hub.docker.com/r/sigp/siren/tags?name=${{ env.VERSION }}
ENDBODY
)
tag_name="${{ env.VERSION }}"
echo "$body" | gh release create --draft -F "-" "$tag_name"