Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
153 changes: 77 additions & 76 deletions .github/workflows/build-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- ryan-2025-update
pull_request:
branches:
- main
Expand All @@ -12,80 +13,80 @@ jobs:
build_web_and_apk:
name: Build Web and APK
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install Flutter
uses: subosito/flutter-action@v1
with:
flutter-version: '3.x'
- name: Get dependencies
run: flutter pub get

- name: Test
run: flutter test --coverage
- name: Build web release project
run: flutter build web

- name: Create CNAME file
run: echo "mergedata.ca" > ./build/web/CNAME

- name: Upload web production-ready build files
uses: actions/upload-artifact@v2
with:
name: production-files
path: ./build/web

- name: Deploy to GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build/web

- name: Build APK
run: flutter build apk --release

- name: Rename APK
run: mv build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/MergeData.apk

- name: Upload APK
uses: actions/upload-artifact@v2
with:
name: MergeData.apk
path: build/app/outputs/flutter-apk/MergeData.apk

- name: Bump version and push tag
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
id: create_tag
uses: mathieudutour/github-tag-action@v6.2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
default_bump: patch

- name: Create Release
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.create_tag.outputs.new_tag }}
release_name: Release ${{ steps.create_tag.outputs.new_tag }}
draft: false
prerelease: false

- name: Upload Release Asset
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/app/outputs/flutter-apk/MergeData.apk
asset_name: MergeData.apk
asset_content_type: application/vnd.android.package-archive
- name: Checkout code
uses: actions/checkout@v4

- name: Install Flutter
uses: subosito/flutter-action@v1
with:
flutter-version: "3.x"

- name: Get dependencies
run: flutter pub get

- name: Test
run: flutter test --coverage

- name: Build web release project
run: flutter build web

- name: Create CNAME file
run: echo "mergedata.ca" > ./build/web/CNAME

- name: Upload web production-ready build files
uses: actions/upload-artifact@v4
with:
name: production-files
path: ./build/web

- name: Deploy to GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build/web

- name: Build APK
run: flutter build apk --release

- name: Rename APK
run: mv build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/MergeData.apk

- name: Upload APK
uses: actions/upload-artifact@v4
with:
name: MergeData.apk
path: build/app/outputs/flutter-apk/MergeData.apk

- name: Bump version and push tag
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
id: create_tag
uses: mathieudutour/github-tag-action@v6.2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
default_bump: patch

- name: Create Release
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.create_tag.outputs.new_tag }}
release_name: Release ${{ steps.create_tag.outputs.new_tag }}
draft: false
prerelease: false

- name: Upload Release Asset
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/app/outputs/flutter-apk/MergeData.apk
asset_name: MergeData.apk
asset_content_type: application/vnd.android.package-archive
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@
*.swp
.DS_Store
.atom/
.build/
.buildlog/
.history
.svn/
.swiftpm/
migrate_working_dir/

# IntelliJ related
Expand Down
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
buildscript {
ext.kotlin_version = '1.7.10'
ext.kotlin_version = '1.9.25'
repositories {
google()
mavenCentral()
Expand Down
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-all.zip
2 changes: 1 addition & 1 deletion android/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ pluginManagement {

plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.3.0" apply false
id "com.android.application" version "8.1.0" apply false
}

include ":app"
178 changes: 178 additions & 0 deletions assets/games/2025.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
{
"Pre-Match": [
{
"name": "Scouter Name",
"required": true,
"type": "text"
},
{
"name": "Event",
"choices": ["Niagara", "North Bay", "DCMP"],
"required": true,
"type": "radio"
},
{
"name": "Alliance Station",
"choices": ["Red 1", "Red 2", "Red 3", "Blue 1", "Blue 2", "Blue 3"],
"required": false,
"type": "radio"
},
{
"name": "Match #",
"required": true,
"type": "number"
},
{
"name": "Team #",
"required": true,
"type": "number"
},
{
"name": "Starting Postition",
"choices": ["Left", "Middle", "Right"],
"required": true,
"type": "radio"
}
],

"Autonomous": [
{
"name": "Crossed Starting Line",
"type": "bool"
},
{
"name": "Auto Coral scored on L1 (bottom)",
"type": "counter"
},
{
"name": "Auto Coral scored on L2 (branch)",
"type": "counter"
},
{
"name": "Auto Coral scored on L3 (branch)",
"type": "counter"
},
{
"name": "Auto Coral scored on L4 (branch)",
"type": "counter"
},
{
"name": "Auto # of Coral Dropped",
"type": "counter"
},
{
"name": "Auto Coral Pickup Location",
"type": "radio",
"required": true,
"choices": ["Floor", "Human Player Sation", "Both"]
},
{
"name": "Auto # of Algae Removed from Reef",
"type": "counter"
},
{
"name": "Auto # of Algae scored in Processor",
"type": "counter"
},
{
"name": "Auto # of Algae scored in Net",
"type": "counter"
},
{
"name": "Auto # of Algae Dropped",
"type": "counter"
},
{
"name": "Comments on Auto",
"type": "text"
}
],

"TeleOp": [
{
"name": "TeleOp Coral scored on L1 (bottom)",
"type": "counter"
},
{
"name": "TeleOp Coral scored on L2 (branch)",
"type": "counter"
},
{
"name": "TeleOp Coral scored on L3 (branch)",
"type": "counter"
},
{
"name": "TeleOp Coral scored on L4 (branch)",
"type": "counter"
},
{
"name": "TeleOp Coral Dropped",
"type": "counter"
},
{
"name": "TeleOp Coral Pickup Location",
"type": "counter"
},
{
"name": "TeleOp Algae Harvested from Reef",
"type": "counter"
},
{
"name": "TeleOp Algae scored in Processor",
"type": "counter"
},
{
"name": "TeleOp Algae Scored in Net by Robot",
"type": "counter"
},
{
"name": "Teleop Algae Dropped",
"type": "counter"
}
],



"EndGame": [
{
"name": "Attempted Climb?",
"type": "bool"
},
{
"name": "Ending Position",
"type": "radio",
"required": false,
"choices": ["None", "Parked", "High Climb", "Low Climb"]
}
],


"PostMatch": [
{
"name": "Defence Rating",
"type": "radio",
"required": true,
"choices": ["1", "2", "3", "4", "5", "N/A"]
},
{
"name": "Ability to withstand defence",
"type": "radio",
"required": true,
"choices": ["1", "2", "3", "4", "5", "N/A"]
},
{
"name": "Did they die during the match?",
"type": "bool"
},
{
"name": "Main Cycle",
"type": "text",
"required": false
},
{
"name": "Comments",
"type": "text",
"required": false
}
]
}
Loading