This is a an open-source project that serves as both website as well as a backend for Slack app that synchronizes Spotify song to your Slack status.
My Workflow
GitHub workflow master.yml:
- Workflow sets up appropriate environment using actions/checkout and actions/setup-java.
- After that the gradle packages are cached via actions/cache@v2
- Gradle properties file is read via christian-draeger/read-properties, so that final deployment file can inherit proper semantic version
- Once the build is finished and the final zip file is generated, artifact is deployed to AWS beanstalk via einaregilsson/beanstalk-deploy. AWS credentials are passed via Github secrets
As a result, workflow deploys a new version of the application to AWS beanstalk as soon as a change is detected on master branch.
steps: - uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11.0.4 - name: Cache Gradle packages uses: actions/cache@v2 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} restore-keys: ${{ runner.os }}-gradle - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle run: ./gradlew build - name: Read baseVersion from gradle.properties id: read_artifact_version uses: christian-draeger/read-properties@1.0.1 with: path: './gradle.properties' property: 'baseVersion' - name: Generate deployment package run: zip -j spotmystatus.zip backend/build/libs/spotmystatus-${{ steps.read_artifact_version.outputs.value }}.jar backend/Procfile && cd backend && zip -r ../spotmystatus.zip .ebextensions .platform - name: Deploy to AWS Beanstalk uses: einaregilsson/beanstalk-deploy@v13 with: aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }} aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} application_name: SpotMyStatus environment_name: spotmystatus-environment version_label: ${{ steps.read_artifact_version.outputs.value }}-${{ github.run_id }}-${{ github.run_number }} use_existing_version_if_available: false wait_for_environment_recovery: 180 region: eu-central-1 deployment_package: spotmystatus.zip Submission Category:
Wacky Wildcards: automate build and deployment of an artifact to AWS Beanstalk
Link to workflow yaml file
Workflow yaml file for master branch
Repository
giorgimode / SpotMyStatus
Slack App updating user's status with currently playing song from Spotify
========== Deprecation Notice ==========
Free version of the app has been deprecated and migrated to spotmystatus.com This repo is no longer maintained
SpotMyStatus
Slack App updating user's status with currently playing song from Spotify
Bugs, Feature Requests
Feel free to create a support ticket via home page or to add a ticket directly in the issue tracker
SpotMyStatus app commands
Following parameters can be passed to /spotme command in Slack
- /spotme pause
- /spotme play
- /spotme purge #to remove user completely
- /spotme links #to see what your team is listening to
- /spotme help
SpotMyStatus customization
Customize your experience by running /spotme command or by accessing app Home Tab 
Features
- User can pause/play status syncing
- User can choose to sync music and/or podcasts (default both)
- User can define emojis to rotate from when app sets a status. Emojis not present in the workspace will not be added (default…
Additional Resources / Info
- Website that running on AWS beanstalk and is deployed via this workflow: https://spotmystatus.giomo.de/
- Slack app: https://slack.com/apps/A01EZN95XD5-spotmystatus?tab=more_info

Top comments (0)