Nightly #911
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright (C) 2019-2021 Julian Valentin, LTeX Development Community | |
# | |
# This Source Code Form is subject to the terms of the Mozilla Public | |
# License, v. 2.0. If a copy of the MPL was not distributed with this | |
# file, You can obtain one at https://mozilla.org/MPL/2.0/. | |
name: "Nightly" | |
on: | |
schedule: | |
- cron: "30 3 * * *" | |
workflow_dispatch: | |
jobs: | |
deploy: | |
name: "Nightly - Deploy Job" | |
runs-on: "ubuntu-20.04" | |
steps: | |
- name: "Checkout Repository" | |
uses: "actions/checkout@v2" | |
- name: "Set up Node.js" | |
uses: "actions/setup-node@v1" | |
with: | |
node-version: "16.11.0" | |
- name: "Install Node.js Dependencies" | |
run: "npm install && npm install -g vsce@1 ovsx@0.2.1" | |
- name: "Set up Python" | |
uses: "actions/setup-python@v2" | |
with: | |
python-version: "3.9.0" | |
- name: "Install Python Dependencies" | |
run: "python -u -m pip install --upgrade pip && pip install semver==2.13.0" | |
- name: "Set VSCODE_LTEX_VERSION" | |
run: "echo \"VSCODE_LTEX_VERSION=$(python -u -c \"import datetime; import json; version = json.load(open('package.json', 'r'))['version']; print('{}.nightly.{}'.format((version[:-8] if version.endswith('.develop') else version), datetime.datetime.today().strftime('%Y-%m-%d')), end='')\")\" >> $GITHUB_ENV" | |
- name: "Check VSCODE_LTEX_VERSION" | |
run: "if [[ -z \"$VSCODE_LTEX_VERSION\" ]]; then echo 'Error: VSCODE_LTEX_VERSION not set!'; (exit 1); fi; echo \"VSCODE_LTEX_VERSION set to '$VSCODE_LTEX_VERSION'\"" | |
- name: "Bump Version" | |
run: "python -u -c \"import json; file = open('package.json', 'r+'); json_ = json.loads(file.read()); json_['version'] = '${{ env.VSCODE_LTEX_VERSION }}'; file.seek(0); file.truncate(); file.write(json.dumps(json_, indent=2) + '\\n')\"" | |
- name: "Update Version of LTeX LS" | |
env: | |
LTEX_GITHUB_OAUTH_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
run: "python -u tools/updateLtexLsVersionAndHashDigests.py --tag nightly" | |
- name: "Build Package with vsce" | |
run: "vsce package" | |
- name: "Build Offline Packages" | |
env: | |
LTEX_GITHUB_OAUTH_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
run: "python -u tools/createOfflinePackages.py" | |
- name: "Delete Old Nightly Releases" | |
uses: "dev-drprasad/delete-older-releases@v0.2.0" | |
with: | |
keep_latest: 0 | |
delete_tag_pattern: "nightly" | |
env: | |
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
- name: "Update Nightly Tag" | |
run: "git tag -f nightly && git push -f origin nightly" | |
- name: "Create GitHub Release" | |
uses: "softprops/action-gh-release@v0.1.8" | |
env: | |
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
with: | |
tag_name: "nightly" | |
name: "${{ env.VSCODE_LTEX_VERSION }}" | |
prerelease: true | |
body: "This is a nightly build. Use at your own risk." | |
files: "vscode-ltex-${{ env.VSCODE_LTEX_VERSION }}-offline-linux-x64.vsix\nvscode-ltex-${{ env.VSCODE_LTEX_VERSION }}-offline-mac-x64.vsix\nvscode-ltex-${{ env.VSCODE_LTEX_VERSION }}-offline-windows-x64.vsix" |