Update main.yml #24
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: build on change | |
on: | |
push: | |
branches: | |
- master | |
- main | |
workflow_dispatch: | |
repository_dispatch: | |
types: epaath | |
jobs: | |
build-and-push: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
arch: [arm64] | |
# arch: [amd64, arm, arm64] | |
steps: | |
- name: Login to Docker | |
run: | | |
echo ${{ secrets.DOCKER_PASSWORD }} | docker login docker.io -u ${{ secrets.DOCKER_USERNAME }} --password-stdin | |
# echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- name: Build and push Docker image | |
env: | |
GITLAB_USERNAME: ${{ secrets.GITLAB_USERNAME }} | |
GITLAB_PASSWORD: ${{ secrets.GITLAB_PASSWORD }} | |
run: | | |
export DOCKER_CLI_EXPERIMENTAL=enabled | |
base="treehouses/nginx-tags:${{ matrix.arch }}" | |
repo="rayheyehygun/epaath" | |
dest="$repo:${{ matrix.arch }}" | |
date="$(date +%Y%m%d%H%M)" | |
arch="${{ matrix.arch }}" | |
docker build --platform linux/$arch -t $dest --build-arg BASE=$base ./ | |
# docker build -t $dest --build-arg BASE=$base ./ | |
echo 0 | |
# docker tag $dest ghcr.io/$dest | |
docker tag $dest docker.io/$dest | |
echo 1 $dest | |
docker tag $dest $dest-$date | |
echo 2 $repo | |
docker images | |
# docker push --all-tags ghcr.io/$repo | |
docker push --all-tags docker.io/$repo | |
# notify: | |
# needs: build-and-push | |
# runs-on: ubuntu-latest | |
# if: always() | |
# steps: | |
# - name: Notify about new Docker images | |
# env: | |
# DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} | |
# run: | | |
# curl -H "Content-Type: application/json" \ | |
# -X POST \ | |
# -d '{"Epaath": "New Docker images have been built and pushed successfully."}' \ | |
# $DISCORD_WEBHOOK_URL | |
#try out to stop clone repitition | |
# name: build on change | |
# on: | |
# push: | |
# branches: | |
# - master | |
# - main | |
# workflow_dispatch: | |
# repository_dispatch: | |
# types: epaath | |
# jobs: | |
# clone-and-build: | |
# runs-on: ubuntu-latest | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# arch: [amd64, arm, arm64] | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v4 | |
# - name: Clone EPaath project | |
# env: | |
# GITLAB_USERNAME: ${{ secrets.GITLAB_USERNAME }} | |
# GITLAB_PASSWORD: ${{ secrets.GITLAB_PASSWORD }} | |
# run: | | |
# # Replace @ with %40 in the password for URL encoding | |
# ENCODED_PASSWORD=$(echo $GITLAB_PASSWORD | sed 's/@/%40/g') | |
# git clone --depth=1 --single-branch --branch with_all_activities https://${GITLAB_USERNAME}:${ENCODED_PASSWORD}@git2023.olenepal.org/regan/epaath_es_oneactivity_project.git | |
# - name: Login to Docker | |
# run: | | |
# echo ${{ secrets.DOCKER_PASSWORD }} | docker login docker.io -u ${{ secrets.DOCKER_USERNAME }} --password-stdin | |
# - name: Set up Docker Buildx | |
# uses: docker/setup-buildx-action@v1 | |
# - name: Build and push Docker image | |
# run: | | |
# base="treehouses/nginx-tags:${{ matrix.arch }}" | |
# repo="rayheyehygun/epaath" | |
# dest="$repo:${{ matrix.arch }}" | |
# date="$(date +%Y%m%d%H%M)" | |
# docker build -t $dest --build-arg BASE=$base ./ | |
# docker tag $dest docker.io/$dest | |
# docker tag $dest $dest-$date | |
# docker push --all-tags docker.io/$repo | |