diff --git a/.gitea/workflows/yamllint.yml b/.gitea/workflows/yamllint.yml index 671bbdd..10109b1 100644 --- a/.gitea/workflows/yamllint.yml +++ b/.gitea/workflows/yamllint.yml @@ -7,12 +7,15 @@ on: jobs: lint: runs-on: docker + container: + image: node:20-alpine # Node available for Gitea Actions steps: - - uses: actions/checkout@v4 + - name: Checkout code + uses: actions/checkout@v4 - name: Install linters run: | - apk add --no-cache python3 py3-pip + apk add --no-cache python3 py3-pip bash git pip install yamllint ansible-lint - name: YAML lint @@ -23,9 +26,17 @@ jobs: build: runs-on: docker + container: + image: node:20-alpine needs: lint steps: - - uses: actions/checkout@v4 + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install Docker CLI + run: | + apk add --no-cache docker bash git + dockerd & sleep 5 - name: Login to Gitea Registry run: | @@ -35,31 +46,37 @@ jobs: --password-stdin - name: Build Docker image - run: | - docker build \ - -t dns.s-martika.com/smartika/snake:latest \ - frontend/ + run: docker build -t dns.s-martika.com/smartika/snake:latest frontend/ - name: Push Docker image - run: | - docker push dns.s-martika.com/smartika/snake:latest + run: docker push dns.s-martika.com/smartika/snake:latest deploy: runs-on: docker + container: + image: node:20-alpine needs: build steps: - - uses: actions/checkout@v4 + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apk add --no-cache openssh bash git python3 py3-pip + pip install ansible - name: Setup SSH run: | - apk add --no-cache openssh ansible mkdir -p ~/.ssh echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -H >> ~/.ssh/known_hosts + - name: Run Ansible deployment + run: ansible-playbook -i ../../ansible/inventory.yaml ../../site.yml + - name: Run Ansible deployment run: | ansible-playbook \ - -i ./ansible/inventory.yaml \ + -i \ ./site.yml