Skip to content

Update main.yml

Update main.yml #23

Workflow file for this run

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)"
echo a
echo ${{ matrix.arch }}
docker buildx build --platform linux/${{ matrix.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