name: "Alice Sites pull" description: "Updates and builds alice sites" author: "Carneiro" inputs: site-dirname: description: "Site directory (inside /var/www/html/alice_sites) name" default: ${{ github.event.repository.name }} source-dir: description: "Source directory" default: "/var/www/src/alice_sites" 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: SITE_DIRNAME: ${{ inputs.site-dirname }} REPO_NAME: ${{ gitea.repository }} SKIP_BUILD: ${{ inputs.skip-build }} SOURCE_DIR: ${{ inputs.source-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: | 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/$SITE_DIRNAME