Create publish.yml
This commit is contained in:
@@ -0,0 +1,72 @@
|
|||||||
|
# This is a basic workflow to help you get started with Actions
|
||||||
|
|
||||||
|
name: Upload to the upload server
|
||||||
|
|
||||||
|
# Controls when the workflow will run
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [develop, main]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
|
jobs:
|
||||||
|
# This workflow contains a single job called "build"
|
||||||
|
build:
|
||||||
|
# The type of runner that the job will run on
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
|
steps:
|
||||||
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: getting owner-repo name
|
||||||
|
shell: bash
|
||||||
|
run: echo "##[set-output name=owner-repo;]$(echo ${GITHUB_REPOSITORY})"
|
||||||
|
id: owner-repo_name
|
||||||
|
- name: get all tags
|
||||||
|
uses: octokit/request-action@v2.x
|
||||||
|
id: get_all_tags
|
||||||
|
with:
|
||||||
|
route: GET /repos/${{ steps.owner-repo_name.outputs.owner-repo }}/git/matching-refs/tags
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: generate tags file
|
||||||
|
uses: "finnp/create-file-action@master"
|
||||||
|
env:
|
||||||
|
FILE_NAME: "tags.json"
|
||||||
|
FILE_DATA: "${{ steps.get_all_tags.outputs.data }}"
|
||||||
|
- name: getting branch name
|
||||||
|
shell: bash
|
||||||
|
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||||
|
id: branch_name
|
||||||
|
- name: getting tag name
|
||||||
|
shell: bash
|
||||||
|
run: echo "##[set-output name=tag;]$(echo ${GITHUB_REF_NAME})"
|
||||||
|
id: tag_name
|
||||||
|
- name: zipping files
|
||||||
|
run: zip -r ${{ github.event.repository.name }}_${{ steps.tag_name.outputs.tag }}.zip . -x '*.git*' '*.idea*'
|
||||||
|
- name: echo-step
|
||||||
|
run: echo "${{ github.event.release.target_commitish }}"
|
||||||
|
- name: uploading archive to prod
|
||||||
|
if: ${{ steps.branch_name.outputs.branch == 'main' || github.event.release.target_commitish == 'main'}}
|
||||||
|
uses: wlixcc/SFTP-Deploy-Action@v1.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
server: ${{ secrets.SERVER }}
|
||||||
|
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
|
local_path: ${{ github.event.repository.name }}_${{ steps.tag_name.outputs.tag }}.zip
|
||||||
|
remote_path: '${{ secrets.PROD_UPLOAD_URL }}'
|
||||||
|
args: '-o ConnectTimeout=5'
|
||||||
|
- name: uploading archive to staging
|
||||||
|
if: ${{ steps.branch_name.outputs.branch == 'develop' || github.event.release.target_commitish == 'develop' }}
|
||||||
|
uses: wlixcc/SFTP-Deploy-Action@v1.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
server: ${{ secrets.SERVER }}
|
||||||
|
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
|
local_path: ${{ github.event.repository.name }}_${{ steps.tag_name.outputs.tag }}.zip
|
||||||
|
remote_path: '${{ secrets.STG_UPLOAD_URL }}'
|
||||||
|
args: '-o ConnectTimeout=5'
|
||||||
Reference in New Issue
Block a user