9 Commits
v1.1 ... main

Author SHA1 Message Date
c12e372c89 feat: add build_args passthrough input for docker build-push-action 2026-08-15 08:47:17 +00:00
Gharekhani Ehsan
025f7adbc7 fix 2026-07-09 12:15:41 +03:30
Gharekhani Ehsan
5d02c55d59 fix 2026-07-09 12:05:38 +03:30
Gharekhani Ehsan
210dc7c82d just ssh 2026-07-09 12:00:46 +03:30
Gharekhani Ehsan
00f83e794d fix docker file 2026-07-09 11:53:58 +03:30
Gharekhani Ehsan
a1f54ad69d add known host 2026-07-09 11:39:17 +03:30
Gharekhani Ehsan
be77ca4010 use argocd 2026-07-09 11:19:30 +03:30
Gharekhani Ehsan
c7e6a9c40a feat: reverse folders 2025-12-26 19:56:32 +03:30
Gharekhani Ehsan
b279615662 fix: insensetive 2025-12-26 18:58:21 +03:30
3 changed files with 43 additions and 15 deletions

View File

@@ -7,7 +7,14 @@ on:
ARGOCD_GIT_TOKEN:
required: true
description: 'Token for ArgoCD Git access'
ARGOCD_GIT_SSH_KEY:
required: false
description: 'SSH key for ArgoCD Git access'
inputs:
ssh_known_hosts:
required: false
type: string
default: "gitea.pinpod.ir ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDayM+ZPLQzaIS/m4xiM0w6aH8nbQYLvv7EMkVLC7gb83AJrr1nEX8z5ayt1Ed6GDMdniwdhyx9jZXagTDFwSb/p19pJ1dIThyI1Zap1aDzG6fxTOCMWqTOyEbvGTCcOuzmWloblqM8KMjrRfBP2dnRsmOCHYTOtjlDPOHvtruqbgyQjD3+1y1ico8U82+sE6N448/f6ytCPZMiAGNpk5DJomfCc34zuSSFeTpRiPZjJ2dNHUzebVG+V8jjqeDef1LlxAhZ7fgvhfzs1b7eI6pdh0zNCgmsFOuc38re4lrwyVK3BqJrp0w6ioA78FQ3bHVqPnN5U5FqH4eK2BzSOxfznw3+jki2/0gNcR+QuPEej5U4BIvJwfJ7C7XPaYvMFf1/s1wgIxFtpl1djIcWcU3H3nQ62qn30k5oMDWySYFm5ONB+tDVCsDtxHa5uMagaDa3SzeU+pdHrdPFdpXd4AH61SuZv3xbuij0TA9u5C30IKzBktbAxPtNDlry9HekrasNQAvYb5B4eVrLIPnSCIwwJrWMreX5q0ZhPin465q8bJN/IPvkHhRH4K3EWO4nIN+hpv56dETeUOF3xqeUZhdp/i0Q0WQMt5+5ruZjKiz31mAerXD74GUPVwn/euKKhwTX3W9E9FhH106+r7pSHObewIM5ZdtgpEmBecE5uFzi5Q=="
registry:
required: false
type: string
@@ -42,13 +49,27 @@ jobs:
id: slug
- name: checkout argocd repo
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
ref: main
repository: ${{ inputs.argocd_repo_url }}
token: ${{ secrets.ARGOCD_GIT_TOKEN }}
- uses: imranismail/setup-kustomize@v2
with:
kustomize-version: '5.7.1'
# ssh-key: ${{ secrets.ARGOCD_GIT_SSH_KEY }}
# ssh-known-hosts: ${{ inputs.ssh_known_hosts }}
# path: argocd-repo
# - uses: imranismail/setup-kustomize@v2
# with:
# kustomize-version: '5.7.1'
# TODO: caching kustomize binary
- name: install kustomize
run: |
set -e -x # enable debugging
curl -sSL -o kustomize.tar.gz https://gitea.pinpod.ir/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv5.8.1/kustomize_v5.8.1_linux_amd64.tar.gz
tar -xzf kustomize.tar.gz
mv kustomize /usr/local/bin/kustomize
chmod +x /usr/local/bin/kustomize
- name: debug info
if: ${{ inputs.debug }}
@@ -61,13 +82,13 @@ jobs:
set -x # enable debugging
printenv
# check if org exists
if [ -d "./manifests/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}/${{env.GITHUB_REF_SLUG}}" ]; then
if [ -d "./manifests/${{env.GITHUB_REF_SLUG}}/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}" ]; then
echo "Org directory exists"
else
echo "Org directory does not exist, creating..."
mkdir -p "./manifests/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}/${{env.GITHUB_REF_SLUG}}"
mkdir -p "./manifests/${{env.GITHUB_REF_SLUG}}/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}"
fi
cd "./manifests/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}/${{env.GITHUB_REF_SLUG}}"
cd "./manifests/${{env.GITHUB_REF_SLUG}}/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}"
# check if README.md exists
if [ -f "README.md" ]; then
echo "README.md file exists"
@@ -86,7 +107,7 @@ jobs:
fi
- name: list files
if : ${{ inputs.debug }}
run: ls -laR ./manifests/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}/${{env.GITHUB_REF_SLUG}}
run: ls -laR ./manifests/${{env.GITHUB_REF_SLUG}}/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}
- name: kustomize set image
run: |
@@ -96,11 +117,11 @@ jobs:
printenv
fi
cd "./manifests/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}/${{env.GITHUB_REF_SLUG}}"
cd "./manifests/${{env.GITHUB_REF_SLUG}}/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}"
echo "${{ inputs.readme }}" > README.md
echo "# Deployed image info" >> README.md
echo "Updating image to ${{ inputs.registry }}/${{ env.GITHUB_REPOSITORY_OWNER_PART_SLUG_CS }}/${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL_CS }}:sha-${{ github.sha }}" >> README.md
echo "Updating image to ${{ inputs.registry }}/${{ env.GITHUB_REPOSITORY_OWNER_PART_SLUG }}/${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL }}:sha-${{ github.sha }}" >> README.md
echo "" >> README.md
echo "Last updated at $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> README.md
echo "" >> README.md
@@ -113,8 +134,7 @@ jobs:
kustomize create .
fi
kustomize edit set image ${{ inputs.registry }}/${{ env.GITHUB_REPOSITORY_OWNER_PART_SLUG_CS }}/${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL_CS }}:latest=${{ inputs.registry }}/${{ env.GITHUB_REPOSITORY_OWNER_PART_SLUG_CS }}/${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL_CS }}:sha-${{ github.sha }}
kustomize edit set namespace ${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL_CS }}-${{ env.GITHUB_REF_SLUG }}
kustomize edit set image ${{ inputs.registry }}/${{ env.GITHUB_REPOSITORY_OWNER_PART_SLUG }}/${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL }}:latest=${{ inputs.registry }}/${{ env.GITHUB_REPOSITORY_OWNER_PART_SLUG }}/${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL }}:sha-${{ github.sha }}
kustomize edit set annotation \
app.io/version:"${{ github.sha }}" \
app.io/branch:"${{ github.ref_name }}" \
@@ -125,7 +145,7 @@ jobs:
run: |
set -e
set -x # enable debugging
cd "./manifests/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}/${{env.GITHUB_REF_SLUG}}"
cd "./manifests/${{env.GITHUB_REF_SLUG}}/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}"
cat README.md
cat kustomization.yaml
- name: Commit and push changes
@@ -135,7 +155,7 @@ jobs:
set -x # enable debugging
printenv
fi
cd "./manifests/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}/${{env.GITHUB_REF_SLUG}}"
cd "./manifests/${{env.GITHUB_REF_SLUG}}/${{env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL}}"
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add .

View File

@@ -33,6 +33,11 @@ on:
type=semver,pattern={{major}}.{{minor}}
type=sha
type=sha,format=long
build_args:
required: false
type: string
default: ""
description: "Extra --build-arg values, one KEY=VALUE per line"
jobs:
build:
@@ -72,3 +77,4 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
annotations: ${{ steps.meta.outputs.annotations }}
build-args: ${{ inputs.build_args }}

View File

@@ -1,2 +1,4 @@
FROM nginx:latest
ARG NGINX_VERSION=latest
ARG NGINX_REPOSITORY=docker.registry.pv.linuz.ir
FROM ${NGINX_REPOSITORY}/nginx:${NGINX_VERSION}
COPY . /usr/share/nginx/html/