76 lines
2.6 KiB
YAML
76 lines
2.6 KiB
YAML
name: Upload OneСlickInstall scripts on S3
|
||
|
||
on:
|
||
push:
|
||
branches:
|
||
- master
|
||
paths:
|
||
- 'install/docker/*.yml'
|
||
- 'install/docker/*.env'
|
||
- 'install/docker/config/**'
|
||
- 'install/OneClickInstall/**'
|
||
workflow_dispatch:
|
||
|
||
env:
|
||
PRODUCT: docspace
|
||
|
||
jobs:
|
||
release:
|
||
name: Scripts release
|
||
runs-on: ubuntu-latest
|
||
env:
|
||
DOCKER_DIR: "${{ github.workspace }}/install/docker"
|
||
SCRIPT_DIR: "${{ github.workspace }}/install/OneClickInstall"
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
|
||
- name: Creating an enterprise script
|
||
run: |
|
||
cp ${{ env.SCRIPT_DIR }}/${{ env.PRODUCT }}-install.sh ${{ env.SCRIPT_DIR }}/${{ env.PRODUCT }}-enterprise-install.sh
|
||
sed -i 's/\(PARAMETERS -it\).*";/\1 ENTERPRISE";/' ${{ env.SCRIPT_DIR }}/${{ env.PRODUCT }}-enterprise-install.sh
|
||
|
||
- name: Create Docker Tarball
|
||
run: |
|
||
cd ${{ env.DOCKER_DIR }}
|
||
tar -czvf ${{ env.SCRIPT_DIR }}/docker.tar.gz --exclude='config/supervisor*' *.yml .env config/
|
||
|
||
- name: Configure AWS Credentials
|
||
uses: aws-actions/configure-aws-credentials@v1
|
||
with:
|
||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_OCI }}
|
||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_OCI }}
|
||
aws-region: us-east-1
|
||
|
||
- name: Upload scripts
|
||
run: |
|
||
cd ${{ env.SCRIPT_DIR }}
|
||
aws s3 cp . ${{ secrets.AWS_BUCKET_URL_OCI }}/ \
|
||
--recursive \
|
||
--acl public-read \
|
||
--content-type application/x-sh \
|
||
--metadata-directive REPLACE \
|
||
--exclude '*' \
|
||
--include="${{ env.PRODUCT }}-install.sh" \
|
||
--include="${{ env.PRODUCT }}-enterprise-install.sh" \
|
||
--include="install-RedHat.sh" \
|
||
--include="install-RedHat/*" \
|
||
--include="install-Debian.sh" \
|
||
--include="install-Debian/*" \
|
||
--include="install-Docker.sh" \
|
||
--include="docker.tar.gz"
|
||
|
||
- name: Invalidate AWS CloudFront cache
|
||
run: |
|
||
aws cloudfront create-invalidation \
|
||
--distribution-id ${{ secrets.AWS_DISTRIBUTION_ID_OCI }} \
|
||
--paths \
|
||
"/${{ env.PRODUCT }}/${{ env.PRODUCT }}-install.sh" \
|
||
"/${{ env.PRODUCT }}/${{ env.PRODUCT }}-enterprise-install.sh" \
|
||
"/${{ env.PRODUCT }}/install-RedHat.sh" \
|
||
"/${{ env.PRODUCT }}/install-RedHat/*" \
|
||
"/${{ env.PRODUCT }}/install-Debian.sh" \
|
||
"/${{ env.PRODUCT }}/install-Debian/*" \
|
||
"/${{ env.PRODUCT }}/install-Docker.sh" \
|
||
"/${{ env.PRODUCT }}/docker.tar.gz"
|