Skip to content

Build

Build #129

Workflow file for this run

name: Build
on:
push:
branches:
- master
paths-ignore:
- '.github/**'
- '.editorconfig'
- '.gitignore'
- '**/*.md'
workflow_dispatch:
inputs:
head:
default: develop
jobs:
update:
if: github.repository == 'misskey-dev/0key.dev'
runs-on: ubuntu-latest
steps:
- if: github.event_name == 'workflow_dispatch'
uses: actions/[email protected]
with:
fetch-depth: 0
submodules: recursive
- if: github.event_name == 'workflow_dispatch'
run: |
git branch -r --format '%(refname:short)' | while read r;
do git branch --track "${r#origin/}" "$r" || :;
done
git fetch --all || :
git pull --all --ff-only || :
git checkout "$HEAD"
env:
HEAD: ${{ github.event.inputs.head }}
working-directory: misskey
- if: github.event_name == 'workflow_dispatch'
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "[email protected]"
git add misskey
git commit -m "chore: update misskey-dev/misskey@$(cd misskey; git rev-parse HEAD)" || :
git push
env:
HEAD: ${{ github.event.inputs.head }}
docker-hariko:
if: github.repository == 'misskey-dev/0key.dev'
needs:
- update
runs-on: ubuntu-latest
permissions:
packages: write
outputs:
digest: ${{ steps.build.outputs.digest }}
steps:
- uses: actions/[email protected]
- if: github.event_name == 'workflow_dispatch'
run: |
git pull --ff-only
git submodule update
- uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- id: build
run: |
docker build -t "ghcr.io/misskey-dev/0key.dev:$GITHUB_REF_NAME-hariko" .
docker push "ghcr.io/misskey-dev/0key.dev:$GITHUB_REF_NAME-hariko"
echo "digest=$(docker image ls --format '{{.Digest}}' | head -n1)" > $GITHUB_OUTPUT
working-directory: hariko
env:
GITHUB_REF_NAME: ${{ github.ref_name }}
docker-misskey:
if: github.repository == 'misskey-dev/0key.dev'
needs:
- update
runs-on: ubuntu-latest
permissions:
packages: write
outputs:
digest: ${{ steps.build.outputs.digest }}
steps:
- uses: actions/[email protected]
with:
submodules: true
- if: github.event_name == 'workflow_dispatch'
run: |
git pull --ff-only
git submodule update
- uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: Homebrew/actions/setup-homebrew@master
- id: build
run: |
head=$(git rev-parse HEAD)
repository=$(mktemp -d)
cd $repository
git init
git remote add origin https://github.com/misskey-dev/misskey.git
git fetch origin $head
git checkout FETCH_HEAD
brew install jaq
jaq --in-place ".version += \"-commit.$(git log --oneline | wc -l)+$(git rev-parse --short HEAD)\"" package.json
docker build -t "ghcr.io/misskey-dev/0key.dev:$GITHUB_REF_NAME-misskey" .
docker push "ghcr.io/misskey-dev/0key.dev:$GITHUB_REF_NAME-misskey"
echo "digest=$(docker image ls --format '{{.Digest}}' | head -n1)" > $GITHUB_OUTPUT
working-directory: misskey
env:
GITHUB_REF_NAME: ${{ github.ref_name }}
helm:
if: github.repository == 'misskey-dev/0key.dev'
needs:
- docker-hariko
- docker-misskey
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/[email protected]
with:
fetch-depth: 0
- if: github.event_name == 'workflow_dispatch'
run: |
git pull --ff-only
git submodule update
- id: version
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "[email protected]"
echo revision=$(git log --oneline | wc -l) > $GITHUB_OUTPUT
- uses: azure/[email protected]
with:
version: v3.15.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: mikefarah/[email protected]
with:
cmd: |
yq -i ".version += \\"${{ steps.version.outputs.revision }}\\"" charts/hariko/Chart.yaml
yq -i ".version += \\"${{ steps.version.outputs.revision }}\\"" charts/misskey/Chart.yaml
yq -i ".image.index = \\"ghcr.io/misskey-dev/0key.dev@${{ needs.docker-hariko.outputs.digest }}\\"" charts/hariko/values.yaml
yq -i ".image.index = \\"ghcr.io/misskey-dev/0key.dev@${{ needs.docker-misskey.outputs.digest }}\\"" charts/misskey/values.yaml
env:
GITHUB_REF_NAME: ${{ github.ref_name }}
- uses: helm/[email protected]
env:
CR_TOKEN: ${{ secrets.GITHUB_TOKEN }}