RailsEventStore/rails_event_store

View on GitHub
.github/workflows/ruby_event_store-browser_assets.yml

Summary

Maintainability
Test Coverage
name: ruby_event_store-browser_assets
on:
  workflow_dispatch:
  repository_dispatch:
    types:
    - script
  push:
jobs:
  assets:
    runs-on: ubuntu-20.04
    timeout-minutes: 120
    env:
      WORKING_DIRECTORY: ruby_event_store-browser
    steps:
    - uses: actions/checkout@v4
      with:
        fetch-depth: 1
    - uses: actions/setup-node@v4
      with:
        node-version: 20
        cache: npm
        cache-dependency-path: "${{ env.WORKING_DIRECTORY }}/elm/package-lock.json"
    - uses: actions/cache@v4
      with:
        path: "~/.elm"
        key: elm-${{ hashFiles(format('{0}/elm/elm.json', env.WORKING_DIRECTORY)) }}
    - run: make install-npm
      working-directory: "${{ env.WORKING_DIRECTORY }}"
      env:
        RUBYOPT: "--enable-frozen-string-literal"
    - run: make build-npm
      working-directory: "${{ env.WORKING_DIRECTORY }}"
      env:
        RUBYOPT: "--enable-frozen-string-literal"
    - uses: actions/upload-artifact@v4
      with:
        name: ruby_event_store_browser.js
        path: "${{ env.WORKING_DIRECTORY }}/public/ruby_event_store_browser.js"
    - uses: actions/upload-artifact@v4
      with:
        name: ruby_event_store_browser.css
        path: "${{ env.WORKING_DIRECTORY }}/public/ruby_event_store_browser.css"
    - uses: aws-actions/configure-aws-credentials@v4
      with:
        aws-access-key-id: "${{ secrets.AWS_ACCESS_KEY_ID }}"
        aws-secret-access-key: "${{ secrets.AWS_SECRET_ACCESS_KEY }}"
        aws-region: eu-central-1
    - run: echo "SHORT_SHA=$(git rev-parse --short=12 HEAD)" >> $GITHUB_ENV
    - run: aws s3 sync ${{ env.WORKING_DIRECTORY }}/public s3://ruby-event-store-assets/${{ env.SHORT_SHA }}