web/.github/workflows/build_and_test.yml
asandikci d216e1a03a
Some checks failed
Build and Deploy Test Version - next.asandikci.com / build_deploy (push) Failing after 3m59s
Update .github/workflows/build_and_test.yml
2024-11-15 17:38:59 +03:00

119 lines
No EOL
3.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: "Build and Deploy Test Version - next.asandikci.com"
on:
push:
branches:
- main
paths-ignore:
- .gitignore
- README.md
- LICENSE
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
build_deploy:
runs-on: docker
container:
image: bitnami/minideb:bookworm-arm64
steps:
- name: Setup System Resources & Settings
run: |
apt-get update -y
apt-get upgrade -y
apt-get install git sshpass ruby-dev build-essential jekyll -y
# no need to these after using own docker image! (see asandikci/DockerTests)
- name: Health Check [CI TEST]
run: |
ls -la
pwd
whoami
echo "this is a text file" >> index.html
date >> index.html
cat index.html
echo '${{ secrets.SFTP_PASSWORD }}' > ~/.passwd
chmod 0400 ~/.passwd
sshpass -f ~/.passwd sftp -oBatchMode=no -o StrictHostKeyChecking=accept-new -b - ${{ secrets.SFTP_USERNAME }}@${{ vars.SFTP_HOST }} << !
put index.html www/index.html
bye
!
- name: Git Clone
run: |
git clone https://git.asandikci.com/asandikci.com/web
ls -la ./web
- name: Build Site
run: |
ruby -v
cd web
bundle install
bundle exec jekyll b
ls -la
env:
JEKYLL_ENV: "production"
- name: Push to "website" branch
run: |
mkdir website_branch && cd website_branch
git clone https://git.asandikci.com/asandikci.com/web
cd web
git checkout website
cp -rfv ../../web/_site .
git config --global user.name "Aliberk Sandıı (CI)"
git config --global user.email git+ci@asandikci.com
git add -A
git commit --all --message "built latest static sources from main"
git push https://asandikci:${{ secrets.PUSH_KEY }}@git.asandikci.com/asandikci.com/web --all
- name: Checkout & Deploy
run: |
mkdir deploy && cd deploy
git clone https://git.asandikci.com/asandikci.com/web
cd web
git checkout website
cd _site
sshpass -f ~/.passwd sftp -oBatchMode=no -o StrictHostKeyChecking=accept-new -b - ${{ secrets.SFTP_USERNAME }}@${{ vars.SFTP_HOST }} << !
put -r . www/
bye
!
# - name: Setup Pages
# id: pages
# uses: actions/configure-pages@v4
# - name: Setup Ruby
# uses: ruby/setup-ruby@v1
# with:
# ruby-version: 3.2
# bundler-cache: true
# - name: Build site
# run: bundle exec jekyll b -d "_site${{ steps.pages.outputs.base_path }}"
# env:
# JEKYLL_ENV: "production"
# - name: Test site
# run: |
# bundle exec htmlproofer _site \
# \-\-disable-external=true \
# \-\-ignore-urls "/^http:\/\/127.0.0.1/,/^http:\/\/0.0.0.0/,/^http:\/\/localhost/"
# - name: Upload site artifact
# uses: actions/upload-pages-artifact@v3
# with:
# path: "_site${{ steps.pages.outputs.base_path }}"