name: Builds
on:
push:
paths-ignore:
- "CHANGELOG.md"
- "README.md"
pull_request:
paths-ignore:
- "CHANGELOG.md"
- "README.md"
jobs:
webapp:
name: Webapp
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: echo "BUILDER_TAG=docker.pkg.github.com/$GITHUB_ACTOR/evebox/builder-linux:webapp" >> $GITHUB_ENV
- run: echo "BRANCH_PREFIX=$(git rev-parse --abbrev-ref HEAD | awk '{split($0,a,"/"); print a[1]}')" >> $GITHUB_ENV
- run: echo ${{ secrets.GITHUB_TOKEN }} | docker login -u $GITHUB_ACTOR --password-stdin docker.pkg.github.com
- run: docker pull ${BUILDER_TAG} || true
- run: ./build.sh webapp
- run: docker push ${BUILDER_TAG} || true
- uses: actions/upload-artifact@v2
with:
name: ${{ env.BRANCH_PREFIX }}-resources-public
path: resources/public
linux:
name: Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: echo "BUILDER_TAG=docker.pkg.github.com/$GITHUB_ACTOR/evebox/builder-linux:latest" >> $GITHUB_ENV
- run: echo "BRANCH_PREFIX=$(git rev-parse --abbrev-ref HEAD | awk '{split($0,a,"/"); print a[1]}')" >> $GITHUB_ENV
- run: echo ${{ secrets.GITHUB_TOKEN }} | docker login -u $GITHUB_ACTOR --password-stdin docker.pkg.github.com
- run: docker pull ${BUILDER_TAG} || true
- run: ./build.sh linux
- run: docker push ${BUILDER_TAG} || true
- uses: actions/upload-artifact@v2
with:
name: ${{ env.BRANCH_PREFIX }}-build
path: dist/*.zip
- uses: actions/upload-artifact@v2
with:
name: ${{ env.BRANCH_PREFIX }}-build
path: dist/*.deb
- uses: actions/upload-artifact@v2
with:
name: ${{ env.BRANCH_PREFIX }}-build
path: dist/*.rpm
linux-armv7:
name: Arm v7
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: echo "BUILDER_TAG=docker.pkg.github.com/$GITHUB_ACTOR/evebox/builder--armv7:latest" >> $GITHUB_ENV
- run: echo "BRANCH_PREFIX=$(git rev-parse --abbrev-ref HEAD | awk '{split($0,a,"/"); print a[1]}')" >> $GITHUB_ENV
- run: echo ${{ secrets.GITHUB_TOKEN }} | docker login -u $GITHUB_ACTOR --password-stdin docker.pkg.github.com
- run: docker pull ${BUILDER_TAG} || true
- run: ./build.sh linux-arm
- run: docker push ${BUILDER_TAG} || true
- uses: actions/upload-artifact@v2
with:
name: ${{ env.BRANCH_PREFIX }}-build
path: dist/*.zip
windows:
name: Windows
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: echo "BUILDER_TAG=docker.pkg.github.com/$GITHUB_ACTOR/evebox/builder-windows:latest" >> $GITHUB_ENV
- run: echo "BRANCH_PREFIX=$(git rev-parse --abbrev-ref HEAD | awk '{split($0,a,"/"); print a[1]}')" >> $GITHUB_ENV
- run: echo ${{ secrets.GITHUB_TOKEN }} | docker login -u $GITHUB_ACTOR --password-stdin docker.pkg.github.com
- run: docker pull ${BUILDER_TAG} || true
- run: ./build.sh windows
- run: docker push ${BUILDER_TAG} || true
- uses: actions/upload-artifact@v2
with:
name: ${{ env.BRANCH_PREFIX }}-build
path: dist/*.zip
macos:
name: MacOS
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: echo "BUILDER_TAG=docker.pkg.github.com/$GITHUB_ACTOR/evebox/builder-macos:latest" >> $GITHUB_ENV
- run: echo "BRANCH_PREFIX=$(git rev-parse --abbrev-ref HEAD | awk '{split($0,a,"/"); print a[1]}')" >> $GITHUB_ENV
- run: echo ${{ secrets.GITHUB_TOKEN }} | docker login -u $GITHUB_ACTOR --password-stdin docker.pkg.github.com
- run: docker pull ${BUILDER_TAG} || true
- run: ./build.sh macos
- run: docker push ${BUILDER_TAG} || true
- uses: actions/upload-artifact@v2
with:
name: ${{ env.BRANCH_PREFIX }}-build
path: dist/*.zip
docker:
name: Docker
runs-on: ubuntu-latest
needs: [linux, linux-armv7]
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v2
- run: echo "BRANCH_PREFIX=$(git rev-parse --abbrev-ref HEAD | awk '{split($0,a,"/"); print a[1]}')" >> $GITHUB_ENV
- run: ls -lR
- uses: crazy-max/ghaction-docker-buildx@v3
- run: |
mkdir -p ~/.docker
echo '{"experimental": "enabled"}' > ~/.docker/config.json
- run: |
mkdir -p dist
cd dist
unzip ../${BRANCH_PREFIX}-build/evebox-*-linux-x64.zip
unzip ../${BRANCH_PREFIX}-build/evebox-*-linux-arm.zip
- run: ./build.sh docker
- name: Push Docker images and manifest
if: github.ref == 'refs/heads/master'
run: |
echo ${{ secrets.DOCKER_HUB_TOKEN }} | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin
./build.sh docker-push