super-productivity/.github/workflows/build-update-web-app-on-release.yml
dependabot[bot] 06ddb727eb
chore(deps)(deps): bump easingthemes/ssh-deploy
Bumps the github-actions-minor group with 1 update: [easingthemes/ssh-deploy](https://github.com/easingthemes/ssh-deploy).


Updates `easingthemes/ssh-deploy` from 5.0.3 to 5.1.1
- [Release notes](https://github.com/easingthemes/ssh-deploy/releases)
- [Changelog](https://github.com/easingthemes/ssh-deploy/blob/main/docs/CHANGELOG.md)
- [Commits](01a39e3348...a1aa0b6cf9)

---
updated-dependencies:
- dependency-name: easingthemes/ssh-deploy
  dependency-version: 5.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-21 13:44:43 +00:00

80 lines
2.7 KiB
YAML

name: Web App on Release
on:
release:
types: [published]
workflow_dispatch:
inputs: {}
jobs:
upload-to-app-super-productivity:
runs-on: ubuntu-latest
if: '!github.event.release.prerelease'
env:
UNSPLASH_KEY: ${{ secrets.UNSPLASH_KEY }}
UNSPLASH_CLIENT_ID: ${{ secrets.UNSPLASH_CLIENT_ID }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2
with:
egress-policy: audit
allowed-endpoints: >
api.github.com:443
github.com:443
objects.githubusercontent.com:443
registry.npmjs.org:443
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
node-version: 20
- name: Check out Git repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
with:
persist-credentials: false
# work around for npm installs from git+https://github.com/johannesjo/J2M.git
- name: Reconfigure git to use HTTP authentication
run: >
git config --global url."https://github.com/".insteadOf
ssh://git@github.com/
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
node-version: 20
- name: Get npm cache directory
id: npm-cache-dir
run: |
echo "::set-output name=dir::$(npm config get cache)"
- uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5
id: npm-cache # use this to check for `cache-hit` ==> if: steps.npm-cache.outputs.cache-hit != 'true'
with:
path: ${{ steps.npm-cache-dir.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install npm Packages
# if: steps.npm-cache.outputs.cache-hit != 'true'
run: npm i
- run: npm run env # Generate env.generated.ts
- name: Lint
run: npm run lint
- name: Test Unit
run: npm run test
- name: Build Frontend & Electron
run: npm run buildFrontend:prodWeb
- name: Deploy to Web Server
uses: easingthemes/ssh-deploy@a1aa0b6cf96ce2406eef90faa35007a4a7bf0ac0 # v5.1.1
env:
SSH_PRIVATE_KEY: ${{ secrets.WEB_SERVER_SSH_KEY }}
ARGS: '-rltgoDzvO --delete --exclude "news.json"'
SOURCE: 'dist/browser/'
REMOTE_HOST: ${{ secrets.WEB_REMOTE_HOST }}
REMOTE_USER: ${{ secrets.WEB_REMOTE_USER }}
TARGET: ${{ secrets.WEB_REMOTE_TARGET }}