name: "Build and Deploy Test Version (with/without Drafts) - 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-and-push-prod: runs-on: docker container: image: git.asandikci.com/docker-images/website_builder:latest steps: - name: Git Clone run: | git clone https://git.asandikci.com/asandikci.com/web ls -la ./web - name: Build Site run: | cd web bundle install bundle exec jekyll b 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 rm -rfv ./_site/ cp -rfv ../../web/_site . git config --global user.name "Aliberk Sandıkçı (CI)" git config --global user.email git+ci@asandikci.com git add -A git commit --all --message "Updated! [CI]" git push https://asandikci:${{ secrets.PUSH_KEY }}@git.asandikci.com/asandikci.com/web build-drafts-and-deploy: runs-on: docker container: image: git.asandikci.com/docker-images/website_builder:latest steps: - name: Git Clone run: | git clone https://git.asandikci.com/asandikci.com/web ls -la ./web - name: Build Site (with Drafts!) run: | cd web bundle install bundle exec jekyll b --drafts env: JEKYLL_ENV: "production" # TODO: WILL BE FIXED # - name: Test Site # run: | # cd web # bundle exec htmlproofer _site \ # \-\-disable-external \ # \-\-ignore-urls "/^http:\/\/127.0.0.1/,/^http:\/\/0.0.0.0/,/^http:\/\/localhost/" - name: Deploy run: | mkdir deploy cp -rfv ../web/_site . ls -la lftp --user ${{ secrets.SFTP_USERNAME }} --password ${{ secrets.SFTP_PASSWORD }} sftp://${{ vars.SFTP_HOST }} -e "rm -r www/; mirror -R . www/" # 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 }} << ! # rm www/* # put -r . www/ # bye # !