name: "Build and Deploy" 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: runs-on: docker steps: - name: Setup SFTP & Ruby run: | apt update -y apt upgrade -y apt install sshpass openssh-client # ruby jekyll -y - 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 -e sftp -oBatchMode=no -o StrictHostKeyChecking=accept-new -b - ${{ secrets.SFTP_USERNAME }}@${{ vars.SFTP_HOST }} << ! put index.html www/index.html bye ! - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 github-server-url: 'https://git.asandikci.com' # submodules: true # If using the 'assets' git submodule from Chirpy Starter, uncomment above # (See: https://github.com/cotes2020/chirpy-starter/tree/main/assets) - name: Build Site run: bundle exec jekyll b env: JEKYLL_ENV: "production" # - 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 }}" # deploy: # environment: # name: github-pages # url: ${{ steps.deployment.outputs.page_url }} # runs-on: ubuntu-latest # needs: build # steps: # - name: Deploy to GitHub Pages # id: deployment # uses: actions/deploy-pages@v4