diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..ac2a2b8 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,60 @@ +name: php-apache-test + +on: + push: + schedule: + - cron: '0 */8 * * *' + +jobs: + php-apache-docker-image-build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: docker login + run: docker login -u ${{ secrets.DOCKERUSERNAME }} -p ${{ secrets.DOCKERAPIKEY }} + - name: treehouses php-apache + run: | + export DOCKER_CLI_EXPERIMENTAL=enabled + repo="jleekwong/php-apache" + base="treehouses/apache" + source .github/workflows/utils.sh + php_apache_arm_sha=$(get_manifest_sha "$repo:latest" "arm") + echo $php_apache_arm_sha + apache_arm_sha=$(get_manifest_sha "$base:latest" "arm") + echo $apache_arm_sha + flag_arm=$(is_base "$base@"$apache_arm_sha "$repo@"$php_apache_arm_sha) + echo $flag_arm + php_apache_amd64_sha=$(get_manifest_sha "$repo:latest" "amd64") + echo $php_apache_amd64_sha + apache_amd64_sha=$(get_manifest_sha "$base:latest" "amd64") + echo $apache_amd64_sha + flag_amd64=$(is_base "$base@"$apache_amd64_sha "$repo@"$php_apache_amd64_sha) + echo $flag_amd64 + php_apache_arm64_sha=$(get_manifest_sha "$repo:latest" "arm64") + echo $php_apache_arm64_sha + apache_arm64_sha=$(get_manifest_sha "$base:latest" "arm64") + echo $apache_arm64_sha + flag_arm64=$(is_base "$base@"$apache_arm64_sha "$repo@"$php_apache_arm64_sha) + echo $flag_arm64 + flag=$(compare "$base@"$apache_arm_sha "$repo@"$php_apache_arm_sha "$base@"$apache_amd64_sha "$repo@"$php_apache_amd64_sha "treehouses/apache@"$apache_arm64_sha "$repo@"$php_apache_arm64_sha) + echo $flag + if [[ $flag == true ]]; then + docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + build_image "$base:latest" arm "$repo" + build_image "$base:latest" amd64 "$repo" + build_image "$base:latest" arm64 "$repo" + deploy_image "$repo" arm + deploy_image "$repo" amd64 + deploy_image "$repo" arm64 + tag=$(date +%Y%m%d%H%M) + tag2="latest" + echo $tag + create_manifest $repo $tag $tag2 $repo-tags:amd64 $repo-tags:arm $repo-tags:arm64 + docker manifest inspect $repo:$tag + docker manifest inspect $repo:$tag2 + docker manifest push $repo:$tag; docker manifest push $repo:$tag2 + else + echo "no changes" + fi diff --git a/utils.sh b/.github/workflows/utils.sh similarity index 100% rename from utils.sh rename to .github/workflows/utils.sh