Skip to content

Build branch for docker #2

Build branch for docker

Build branch for docker #2

Workflow file for this run

name: Build branch for docker
on:
workflow_dispatch:
inputs:
branch:
description: "Branch to build"
required: true
env:
AWS_REGION: us-west-1
AWS_ROLE: ${{ vars.EC2_GITHUB_RUNNER_ROLE }}
REGISTRY_IMAGE: oxen/oxen-server
permissions:
id-token: write
contents: write
jobs:
start-self-hosted-runner:
name: Start self-hosted EC2 runner
runs-on: ubuntu-latest
outputs:
label: ${{ steps.start-ec2-runner.outputs.label }}
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }}
steps:
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ env.AWS_ROLE }}
role-duration-seconds: 900
aws-region: ${{ env.AWS_REGION }}
- name: Start EC2 runner
id: start-ec2-runner
uses: machulav/ec2-github-runner@v2
with:
mode: start
github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
ec2-image-id: ${{ vars.EC2_IMAGE_ID }}
ec2-instance-type: m7g.4xlarge
subnet-id: ${{ vars.SUBNET_ID }}
security-group-id: ${{ vars.SECURITY_GROUP_ID }}
aws-resource-tags: >
[
{"Key": "Name", "Value": "ec2-github-runner"}
]
release_docker_arm64:
needs: start-self-hosted-runner
runs-on: ${{ needs.start-self-hosted-runner.outputs.label }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.branch }}
- name: Set release version
run: |
echo "RELEASE_VERSION=nighly-$(date +'%Y-%m-%d-%H_%M_%S')" >> $GITHUB_ENV
- name: Build Docker Image
run: docker build -t oxen/oxen-server .
- name: Save Docker
run: docker save oxen/oxen-server -o oxen-server-docker-arm64-${{ env.RELEASE_VERSION }}.tar
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: oxen-server-docker-arm64-${{ env.RELEASE_VERSION }}.tar
path: oxen-server-docker-arm64-${{ env.RELEASE_VERSION }}.tar
retention-days: 1