chore(ci): use "latest" tag on stable Docker web releases

[skip ci]
This commit is contained in:
Jagandeep Brar
2022-06-24 15:46:41 -04:00
parent 18ef4cf1d4
commit d48d3d3ede
8 changed files with 70 additions and 354 deletions

View File

@@ -68,14 +68,27 @@ jobs:
with:
platform: web
- name: Determine Tags
id: tags
uses: actions/github-script@v6
env:
BUILD_FLAVOR: ${{ inputs.build-flavor }}
BUILD_TITLE: ${{ inputs.build-title }}
with:
result-encoding: string
script: |
const tags = [];
tags.push(process.env.BUILD_FLAVOR);
tags.push(process.env.BUILD_TITLE);
if (process.env.BUILD_FLAVOR === 'stable') tags.push('latest');
return tags.join(',');
- name: Build LunaSea
uses: docker/build-push-action@v2
with:
context: .
outputs: type=docker,dest=${{ github.workspace}}/output/lunasea-web-docker.tar
tags: |
ghcr.io/jagandeepbrar/lunasea:${{ inputs.build-title }}
ghcr.io/jagandeepbrar/lunasea:${{ inputs.build-flavor }}
tags: ${{ steps.tags.outputs.result }}
- name: Upload Artifact
uses: actions/upload-artifact@v3

View File

@@ -9,9 +9,6 @@ on:
build-flavor:
required: true
type: string
build-number:
required: true
type: string
build-title:
required: true
type: string
@@ -19,16 +16,6 @@ on:
secrets:
GOOGLE_PLAY_API:
required: true
S3_ACCESS_KEY:
required: true
S3_BUCKET:
required: true
S3_ENDPOINT:
required: true
S3_KEY_ID:
required: true
S3_REGION:
required: true
jobs:
play-store:
@@ -77,48 +64,3 @@ jobs:
env:
SUPPLY_JSON_KEY: ${{ github.workspace }}/keys/googleplay.json
run: bundle exec fastlane deploy_playstore track:${{ steps.channel.outputs.result }} aab:${{ github.workspace }}/output/lunasea-android.aab version_name:${{ inputs.build-title }}
s3:
name: S3
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: s3
- name: Download Android App Package
uses: actions/download-artifact@v3
with:
name: android-app-package
path: ${{ github.workspace }}/output
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_ANDROID.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.build-flavor }}

View File

@@ -9,12 +9,6 @@ on:
build-flavor:
required: true
type: string
build-number:
required: true
type: string
build-title:
required: true
type: string
secrets:
APPLE_ID:
@@ -29,16 +23,6 @@ on:
required: true
APPLE_TEAM_ID:
required: true
S3_ACCESS_KEY:
required: true
S3_BUCKET:
required: true
S3_ENDPOINT:
required: true
S3_KEY_ID:
required: true
S3_REGION:
required: true
jobs:
app-store:
@@ -75,48 +59,3 @@ jobs:
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: bundle exec fastlane deploy_appstore groups:${{ inputs.build-flavor }} ipa:${{ github.workspace }}/output/lunasea-ios.ipa
s3:
name: S3
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: s3
- name: Download iOS App Package
uses: actions/download-artifact@v3
with:
name: ios-appstore-package
path: ${{ github.workspace }}/output
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_IOS.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.build-flavor }}

View File

@@ -6,26 +6,10 @@ on:
build-flavor:
required: true
type: string
build-number:
required: true
type: string
build-title:
required: true
type: string
secrets:
SNAPCRAFT_STORE_CREDENTIALS:
required: true
S3_ACCESS_KEY:
required: true
S3_BUCKET:
required: true
S3_ENDPOINT:
required: true
S3_KEY_ID:
required: true
S3_REGION:
required: true
jobs:
snapcraft:
@@ -50,48 +34,3 @@ jobs:
with:
release: ${{ inputs.build-flavor }}
snap: ${{ github.workspace }}/output/lunasea-linux-amd64.snap
s3:
name: S3
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: s3
- name: Download Linux Snap
uses: actions/download-artifact@v3
with:
name: linux-snapcraft
path: ${{ github.workspace }}/output
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_LINUX.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.build-flavor }}

View File

@@ -9,12 +9,6 @@ on:
build-flavor:
required: true
type: string
build-number:
required: true
type: string
build-title:
required: true
type: string
secrets:
APPLE_ID:
@@ -29,16 +23,6 @@ on:
required: true
APPLE_TEAM_ID:
required: true
S3_ACCESS_KEY:
required: true
S3_BUCKET:
required: true
S3_ENDPOINT:
required: true
S3_KEY_ID:
required: true
S3_REGION:
required: true
jobs:
app-store:
@@ -75,54 +59,3 @@ jobs:
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: bundle exec fastlane deploy_appstore groups:${{ inputs.build-flavor }} pkg:${{ github.workspace }}/output/lunasea-macos-amd64.pkg
s3:
name: S3
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: s3
- name: Download macOS App Package
uses: actions/download-artifact@v3
with:
name: macos-app-package
path: ${{ github.workspace }}/output
- name: Download macOS Disk Image
uses: actions/download-artifact@v3
with:
name: macos-disk-image
path: ${{ github.workspace }}/output
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_MACOS.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.build-flavor }}

View File

@@ -1,4 +1,4 @@
name: Publish Windows
name: Publish s3
on:
workflow_call:
@@ -35,6 +35,42 @@ jobs:
with:
channel: s3
- name: Download Android App Package
uses: actions/download-artifact@v3
with:
name: android-app-package
path: ${{ github.workspace }}/output
- name: Download iOS App Package
uses: actions/download-artifact@v3
with:
name: ios-appstore-package
path: ${{ github.workspace }}/output
- name: Download Linux Snap
uses: actions/download-artifact@v3
with:
name: linux-snapcraft
path: ${{ github.workspace }}/output
- name: Download macOS App Package
uses: actions/download-artifact@v3
with:
name: macos-app-package
path: ${{ github.workspace }}/output
- name: Download macOS Disk Image
uses: actions/download-artifact@v3
with:
name: macos-disk-image
path: ${{ github.workspace }}/output
- name: Download Web Archive
uses: actions/download-artifact@v3
with:
name: web-archive
path: ${{ github.workspace }}/output
- name: Download Windows App Package
uses: actions/download-artifact@v3
with:
@@ -47,6 +83,17 @@ jobs:
name: windows-msix-installer
path: ${{ github.workspace }}/output
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: |
echo ${{ inputs.build-number }} > VERSION.txt
echo ${{ inputs.build-number }} > VERSION_ANDROID.txt
echo ${{ inputs.build-number }} > VERSION_IOS.txt
echo ${{ inputs.build-number }} > VERSION_LINUX.txt
echo ${{ inputs.build-number }} > VERSION_MACOS.txt
echo ${{ inputs.build-number }} > VERSION_WEB.txt
echo ${{ inputs.build-number }} > VERSION_WINDOWS.txt
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
@@ -60,10 +107,6 @@ jobs:
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_WINDOWS.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:

View File

@@ -6,9 +6,6 @@ on:
build-flavor:
required: true
type: string
build-number:
required: true
type: string
build-title:
required: true
type: string
@@ -16,16 +13,6 @@ on:
secrets:
NETLIFY_AUTH_TOKEN:
required: true
S3_ACCESS_KEY:
required: true
S3_BUCKET:
required: true
S3_ENDPOINT:
required: true
S3_KEY_ID:
required: true
S3_REGION:
required: true
jobs:
docker:
@@ -46,9 +33,7 @@ jobs:
path: ${{ github.workspace }}/output
- name: Load Docker Image
run: |
docker load --input ${{ github.workspace}}/output/lunasea-web-docker.tar
docker image ls -a
run: docker load --input ${{ github.workspace}}/output/lunasea-web-docker.tar
- name: Deploy to GitHub Container Registry
run: docker image push --all-tags ghcr.io/jagandeepbrar/lunasea
@@ -94,48 +79,3 @@ jobs:
publish-dir: ${{ github.workspace}}/output
production-deploy: true
deploy-message: ${{ inputs.build-title }}
s3:
name: S3
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: s3
- name: Download Web Archive
uses: actions/download-artifact@v3
with:
name: web-archive
path: ${{ github.workspace }}/output
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_WEB.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.build-flavor }}

View File

@@ -121,15 +121,9 @@ jobs:
with:
build-changelog: ${{ needs.prepare.outputs.build-changelog }}
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
GOOGLE_PLAY_API: ${{ secrets.GOOGLE_PLAY_API }}
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_KEY_ID: ${{ secrets.S3_KEY_ID }}
S3_REGION: ${{ secrets.S3_REGION }}
publish-ios:
name: Publish iOS
@@ -138,8 +132,6 @@ jobs:
with:
build-changelog: ${{ needs.prepare.outputs.build-changelog }}
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
@@ -147,11 +139,6 @@ jobs:
APPLE_STORE_CONNECT_KEY: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_KEY_ID: ${{ secrets.S3_KEY_ID }}
S3_REGION: ${{ secrets.S3_REGION }}
publish-linux:
name: Publish Linux
@@ -159,15 +146,8 @@ jobs:
uses: JagandeepBrar/LunaSea/.github/workflows/publish_linux.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_STORE_CREDENTIALS }}
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_KEY_ID: ${{ secrets.S3_KEY_ID }}
S3_REGION: ${{ secrets.S3_REGION }}
publish-macos:
name: Publish macOS
@@ -176,8 +156,6 @@ jobs:
with:
build-changelog: ${{ needs.prepare.outputs.build-changelog }}
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
@@ -185,11 +163,6 @@ jobs:
APPLE_STORE_CONNECT_KEY: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_KEY_ID: ${{ secrets.S3_KEY_ID }}
S3_REGION: ${{ secrets.S3_REGION }}
publish-web:
name: Publish Web
@@ -197,20 +170,14 @@ jobs:
uses: JagandeepBrar/LunaSea/.github/workflows/publish_web.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_KEY_ID: ${{ secrets.S3_KEY_ID }}
S3_REGION: ${{ secrets.S3_REGION }}
publish-windows:
name: Publish Windows
needs: [ prepare, build-windows ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_windows.yml@master
publish-s3:
name: Publish S3
needs: [ prepare, build-android, build-ios, build-linux, build-macos, build-web, build-windows ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_s3.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-number: ${{ needs.prepare.outputs.build-number }}
@@ -224,7 +191,7 @@ jobs:
notify:
name: Notify
needs: [ prepare, publish-android, publish-ios, publish-linux, publish-macos, publish-web, publish-windows ]
needs: [ prepare, publish-android, publish-ios, publish-linux, publish-macos, publish-web, publish-s3 ]
uses: JagandeepBrar/LunaSea/.github/workflows/notify.yml@master
with:
build-changelog: ${{ needs.prepare.outputs.build-changelog }}