takelbeta amd64 #487
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: takelbeta amd64 | |
on: | |
push: | |
schedule: # run daily at three o'clock CET | |
- cron: '0 4 * * *' | |
workflow_dispatch: # allow manual trigger | |
jobs: | |
takelbeta-amd64: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
- name: Set up ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ruby | |
- name: Install tau | |
run: | | |
gem install takeltau | |
- name: Configure tau | |
run: | | |
echo "docker_entrypoint_options: --no-git --no-gopass --no-gpg --no-ssh" >> $HOME/.takelage.yml | |
echo "docker_repo: takelbuild" >> $HOME/.takelage.yml | |
echo "docker_tag: latest-amd64" >> $HOME/.takelage.yml | |
cat $HOME/.takelage.yml | |
- name: Pull takelage image | |
run: tau update | |
- name: Read mutagen version | |
run: | | |
MUTAGEN=$(docker inspect --format '{{ index .Config.Labels "mutagen" }}' takelwerk/takelbuild:latest-amd64) | |
echo "MUTAGEN=$MUTAGEN" >> "$GITHUB_ENV" | |
- name: Install mutagen | |
run: | | |
MUTAGEN_FILE=https://github.com/mutagen-io/mutagen/releases/download/v${{ env.MUTAGEN }}/mutagen_linux_amd64_v${{ env.MUTAGEN }}.tar.gz | |
wget --header="Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" -O /tmp/mutagen.tar.gz $MUTAGEN_FILE | |
sudo tar xvfz /tmp/mutagen.tar.gz -C /usr/local/bin | |
mutagen daemon start | |
- name: Start an instance of takelage | |
run: tau docker container daemon | |
- name: Lint ruby | |
run: tau docker container command "rake rubylint" | |
- name: Lint takelbeta | |
run: tau docker container command "rake images:takelbeta:molecule:lint" | |
- name: Test takelscripts | |
run: tau docker container command "rake takelscripts" | |
- name: Build takelage takelbeta image with packer | |
run: tau docker container command "rake images:takelbeta:build" | |
- name: Test takelage takelbeta image | |
run: tau docker container command "rake images:takelbeta:molecule:test" | |
- name: Login to docker hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Tag and push image | |
run: | | |
tau docker container command "rake dockerhub:takelbeta:tag:latest:amd64" | |
tau docker container command "rake dockerhub:takelbeta:push:latest:amd64" | |
tau docker container command "rake dockerhub:takelbeta:tag:version:amd64" | |
tau docker container command "rake dockerhub:takelbeta:push:version:amd64" | |
- name: Pull arm64 latest image | |
run: | | |
tau docker container command "rake dockerhub:project:pull:latest:arm64" | |
- name: Create and push docker latest manifest | |
run: | | |
tau docker container command "rake dockerhub:takelbeta:manifest:create:latest" | |
tau docker container command "rake dockerhub:takelbeta:manifest:push:latest" |