Merge pull request #5 from MDavidson17/feat/test-4 #43
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
on: [push] | |
jobs: | |
main: | |
name: Format & Deploy(master) | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Use Node.js 18.x | |
uses: actions/[email protected] | |
with: | |
node-version: "18.x" | |
- name: Install | |
run: yarn | |
- name: format | |
run: yarn format | |
- name: Check formatting | |
run: git diff --exit-code | |
- name: Setup kubectl | |
uses: azure/setup-kubectl@v3 | |
with: | |
version: "latest" | |
- name: AWS Configure | |
uses: aws-actions/[email protected] | |
with: | |
aws-region: ap-southeast-2 | |
mask-aws-account-id: true | |
role-to-assume: ${{ secrets.AWS_CI_ROLE }} | |
- name: Login to EKS | |
run: | | |
aws eks update-kubeconfig --name Workflow --region ap-southeast-2 --role-arn ${{ secrets.AWS_EKS_ROLE }} | |
- name: Check EKS connection | |
run: | | |
kubectl get nodes | |
- name: Install Argo | |
run: | | |
curl -sLO https://github.com/argoproj/argo-workflows/releases/download/v3.4.0-rc2/argo-linux-amd64.gz | |
gunzip argo-linux-amd64.gz | |
chmod +x argo-linux-amd64 | |
./argo-linux-amd64 version | |
- name: Lint workflows | |
run: | | |
./argo-linux-amd64 lint templates/ -n argo | |
./argo-linux-amd64 lint workflows/ -n argo | |
- name: Deploy workflows | |
if: github.ref == 'refs/heads/master' | |
run: | | |
# Deploy templates first | |
kubectl apply -f templates/argo-tasks/ --namespace argo | |
# Find all workflows that have kind "WorkflowTemplate" | |
WORKFLOWS=$(grep '^kind: WorkflowTemplate$' -R workflows/ -H | cut -d ':' -f1) | |
# For each workflow attempt to deploy it using kubectl | |
for wf in $WORKFLOWS; do | |
kubectl apply -f $wf --namespace argo | |
done | |
- name: Deploy config files | |
if: github.ref == 'refs/heads/master' | |
run: | | |
kubectl apply -f config/*.yml --namespace argo |