diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..2388781 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,56 @@ +name: Publish Application on GitHub Pages +on: + push: + branches: + - develop + pull_request: + branches: + - develop +jobs: + build: + name: Build Kotlin/Wasm + runs-on: ubuntu-latest + steps: + - name: Set up JDK + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '17' + + - name: Checkout code + uses: actions/checkout@v3 + + - name: Run Gradle Tasks + run: ./gradlew wasmJsBrowserDistribution --no-configuration-cache + + - name: Fix permissions + run: | + chmod -v -R +rX "composeApp/build/dist/wasmJs/productionExecutable/" | while read line; do + echo "::warning title=Invalid file permissions automatically fixed::$line" + done + + - name: Upload Pages artifact + uses: actions/upload-pages-artifact@v3 + with: + path: composeApp/build/dist/wasmJs/productionExecutable/ + + deploy: + # Add a dependency to the build job + needs: build + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + # Specify runner + deployment step + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4