name: "Alice Sites pull" description: "Pulls and builds jekyll sites" author: "Carneiro" inputs: src_dir: description: "Source directory" default: "/var/www/src/alice_sites" dirname: description: "Site directory (inside src_dir) name" default: ${{ github.event.repository.name }} output_dirname: description: "Site destination directory name" default: ${{ github.event.repository.name }} dest_dir: description: "Destination directory" default: "/var/www/html/alice_sites" jekyll_args: description: "Args to pass to jekyll build" default: "--trace --incremental" skip_build: description: "Wheather or not the sites skips building" default: "false" host: description: "SSH host address." default: "${{ secrets.SSH_HOST }}" port: description: "SSH port number." default: ${{ secrets.SSH_PORT }} username: description: "SSH username." default: "${{ secrets.SSH_USERNAME }}" key: description: "SSH private key" default: ${{ secrets.SSH_PRIV_KEY }} runs: using: 'composite' steps: - uses: appleboy/ssh-action@v1.2.0 env: ORIG_DIRNAME: ${{ github.event.repository.name }} SITE_DIRNAME: ${{ inputs.dirname }} OUTPUT_DIRNAME: ${{ inputs.output_dirname }} REPO_NAME: ${{ gitea.repository }} SKIP_BUILD: ${{ inputs.skip_build }} SOURCE_DIR: ${{ inputs.src_dir }} DEST_DIR: ${{ inputs.dest_dir }} JEKYLL_ARGS: ${{ inputs.jekyll_args }} with: host: ${{ inputs.host }} username: ${{ inputs.username }} key: ${{ inputs.key }} port: ${{ inputs.port }} envs: SITE_DIRNAME, REPO_NAME, SKIP_BUILD, SOURCE_DIR, DEST_DIR, JEKYLL_ARGS script: | [ "$OUTPUT_DIRNAME" = "$ORIG_DIRNAME" ] && OUTPUT_DIRNAME=$SITE_DIRNAME cd $SOURCE_DIR # If site is not there yet, clone it [ -d "${SOURCE_DIR}/${SITE_DIRNAME}" ] || git clone https://git.alice.ufsj.edu.br/$REPO_NAME # Update cd "${SOURCE_DIR}/${SITE_DIRNAME}" git pull # Build [ $SKIP_BUILD != false ] && exit 0 bundle install bundle exec jekyll build $JEKYLL_ARGS --destination=$DEST_DIR/$OUTPUT_DIRNAME