diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 68a5e206..0849021a 100755 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,9 +2,9 @@ name: 'Build' on: push: - branches: [v4] + branches: [v4, trunk] pull_request: - branches: [v4] + branches: [v4, trunk] workflow_dispatch: jobs: diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml new file mode 100644 index 00000000..1f885499 --- /dev/null +++ b/.github/workflows/docker-release.yml @@ -0,0 +1,87 @@ +name: 'Push Release Docker Images' + +on: + push: + tags: + - 'v4.*.*' + workflow_dispatch: + +jobs: + push: + strategy: + matrix: + arch: [amd64, arm64] + + name: push release + runs-on: ubuntu-24.04${{ matrix.arch == 'arm64' && '-arm' || '' }} + steps: + - uses: actions/checkout@v4 + + - name: Get version + id: version + run: | + echo "zipline_version=$(jq .version package.json -r)" >> $GITHUB_OUTPUT + + - name: Get commit sha + id: sha + run: | + echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + + - uses: docker/setup-buildx-action@v3 + - uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - uses: docker/build-push-action@v6 + with: + push: true + platforms: linux/${{ matrix.arch }} + cache-from: type=gha + cache-to: type=gha,mode=max + provenance: false + tags: | + ghcr.io/diced/zipline:${{ steps.version.outputs.zipline_version }}-${{ matrix.arch }} + ghcr.io/diced/zipline:${{ steps.version.outputs.zipline_version }}-${{ steps.sha.outputs.short_sha }}-${{ matrix.arch }} + + amend-builds: + runs-on: ubuntu-24.04 + needs: push + steps: + - uses: actions/checkout@v4 + + - name: Get version + id: version + run: | + echo "zipline_version=$(jq .version package.json -r)" >> $GITHUB_OUTPUT + + - name: Get commit sha + id: sha + run: | + echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + + - uses: docker/setup-buildx-action@v3 + - uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: pull images + run: | + docker pull --platform=linux/amd64 ghcr.io/diced/zipline:${{ steps.version.outputs.zipline_version }}-amd64 + docker pull --platform=linux/arm64 ghcr.io/diced/zipline:${{ steps.version.outputs.zipline_version }}-arm64 + + - name: create manifests + run: | + docker manifest create ghcr.io/diced/zipline:${{ steps.version.outputs.zipline_version }} \ + --amend ghcr.io/diced/zipline:${{ steps.version.outputs.zipline_version }}-amd64 \ + --amend ghcr.io/diced/zipline:${{ steps.version.outputs.zipline_version }}-arm64 && \ + docker manifest create ghcr.io/diced/zipline:latest \ + --amend ghcr.io/diced/zipline:${{ steps.version.outputs.zipline_version }}-amd64 \ + --amend ghcr.io/diced/zipline:${{ steps.version.outputs.zipline_version }}-arm64 + + - name: push manifests + run: | + docker manifest push ghcr.io/diced/zipline:${{ steps.version.outputs.zipline_version }} && \ + docker manifest push ghcr.io/diced/zipline:latest diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 15a6c789..bfe1c34c 100755 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -2,7 +2,7 @@ name: 'Push Docker Images' on: push: - branches: [v4] + branches: [v4, trunk] workflow_dispatch: jobs: @@ -36,10 +36,10 @@ jobs: cache-to: type=gha,mode=max provenance: false tags: | - ghcr.io/diced/zipline:v4-${{ matrix.arch }} - ghcr.io/diced/zipline:v4-${{ steps.sha.outputs.short_sha }}-${{ matrix.arch }} + ghcr.io/diced/zipline:trunk-${{ matrix.arch }} + ghcr.io/diced/zipline:trunk-${{ steps.sha.outputs.short_sha }}-${{ matrix.arch }} - ammend-builds: + amend-builds: runs-on: ubuntu-24.04 needs: push steps: @@ -57,19 +57,23 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: pull images run: | - docker pull --platform=linux/amd64 ghcr.io/diced/zipline:v4-${{ steps.sha.outputs.short_sha }}-amd64 - docker pull --platform=linux/arm64 ghcr.io/diced/zipline:v4-${{ steps.sha.outputs.short_sha }}-arm64 + docker pull --platform=linux/amd64 ghcr.io/diced/zipline:trunk-${{ steps.sha.outputs.short_sha }}-amd64 + docker pull --platform=linux/arm64 ghcr.io/diced/zipline:trunk-${{ steps.sha.outputs.short_sha }}-arm64 - name: create manifests run: | - docker manifest create ghcr.io/diced/zipline:v4-${{ steps.sha.outputs.short_sha }} \ + docker manifest create ghcr.io/diced/zipline:trunk-${{ steps.sha.outputs.short_sha }} \ --amend ghcr.io/diced/zipline:v4-${{ steps.sha.outputs.short_sha }}-amd64 \ --amend ghcr.io/diced/zipline:v4-${{ steps.sha.outputs.short_sha }}-arm64 && \ + docker manifest create ghcr.io/diced/zipline:trunk \ + --amend ghcr.io/diced/zipline:v4-${{ steps.sha.outputs.short_sha }}-amd64 \ + --amend ghcr.io/diced/zipline:v4-${{ steps.sha.outputs.short_sha }}-arm64 docker manifest create ghcr.io/diced/zipline:v4 \ --amend ghcr.io/diced/zipline:v4-${{ steps.sha.outputs.short_sha }}-amd64 \ --amend ghcr.io/diced/zipline:v4-${{ steps.sha.outputs.short_sha }}-arm64 - name: push manifests run: | - docker manifest push ghcr.io/diced/zipline:v4-${{ steps.sha.outputs.short_sha }} && \ - docker manifest push ghcr.io/diced/zipline:v4 + docker manifest push ghcr.io/diced/zipline:trunk-${{ steps.sha.outputs.short_sha }} && \ + docker manifest push ghcr.io/diced/zipline:trunk && \ + docker manifest push ghcr.io/diced/zipline:v4 && \ diff --git a/README.md b/README.md index 90b81ba2..a7b6d1cc 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@
.env
file. When using Docker Compose all
- the environment variables are found in the docker-compose.yml
file.
+ Most of Zipline's configuration is now managed through the dashboard. Once you login as
+ a super-admin, you can click on your username in the top right corner and select
+ "Server Settings" to configure your instance. The only exception to this is a few
+ sensitive environment variables that must be set in order for Zipline to run. To change
+ this, depending on the setup, you can either edit the .env
or{' '}
+ docker-compose.yml
file.