Skip to content

test takelbuild

test takelbuild #333

---
name: test takelbuild
on:
schedule:
- cron: '0 3 * * *'
workflow_dispatch:
jobs:
test-takelbuild:
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 takelbuild
run: tau docker container command "rake images:takelbuild:molecule:lint"
- name: Test takelscripts
run: tau docker container command "rake takelscripts"
- name: Build takelbuild intermediate image with packer
run: tau docker container command "rake images:takelbuild:build:to:06-ruby"
- name: Build takelbuild image from intermediate image with packer
run: tau docker container command "rake images:takelbuild:build:from:06-ruby"
- name: Test takelbuild project image
run: tau docker container command "rake images:takelbuild:molecule:test"