Update examples for the 2024 kickoff #36
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is a faster workflow that parallelizes the jobs in a matrix so | |
# we can get faster results than waiting for the standard build_all_frc_projects | |
# powershell script | |
name: Build all FRC Projects | |
on: | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
permissions: | |
contents: read | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- project-name: 'CANCoder' | |
directory: 'C++ General/CANCoder' | |
- project-name: 'CANdle' | |
directory: 'C++ General/CANdle' | |
- project-name: 'CANdle-MultiAnimation' | |
directory: 'C++ General/CANdle-MultiAnimation' | |
- project-name: 'CANifier Demo' | |
directory: 'C++ General/CANifier Demo' | |
- project-name: 'CANifier Quadrature' | |
directory: 'C++ General/CANifier Quadrature' | |
- project-name: 'Config All' | |
directory: 'C++ General/Config All' | |
- project-name: 'Current Limit' | |
directory: 'C++ General/Current Limit' | |
- project-name: 'CurrentClosedLoop' | |
directory: 'C++ General/CurrentClosedLoop' | |
- project-name: 'DifferentialDrive' | |
directory: 'C++ General/DifferentialDrive' | |
- project-name: 'GetParameter' | |
directory: 'C++ General/GetParameter' | |
- project-name: 'LimitSwitch' | |
directory: 'C++ General/LimitSwitch' | |
- project-name: 'Mecanum' | |
directory: 'C++ General/Mecanum' | |
- project-name: 'MotionMagic' | |
directory: 'C++ General/MotionMagic' | |
- project-name: 'MotionProfile' | |
directory: 'C++ General/MotionProfile' | |
- project-name: 'MotionProfileArc_Simple' | |
directory: 'C++ General/MotionProfileArc_Simple' | |
- project-name: 'MotionProfile_Simple' | |
directory: 'C++ General/MotionProfile_Simple' | |
- project-name: 'MotorSafety' | |
directory: 'C++ General/MotorSafety' | |
- project-name: 'Orchestra' | |
directory: 'C++ General/Orchestra' | |
- project-name: 'PigeonSmartDash' | |
directory: 'C++ General/PigeonSmartDash' | |
- project-name: 'PigeonStraight' | |
directory: 'C++ General/PigeonStraight' | |
- project-name: 'PositionClosedLoop' | |
directory: 'C++ General/PositionClosedLoop' | |
- project-name: 'RemoteClosedLoop' | |
directory: 'C++ General/RemoteClosedLoop' | |
- project-name: 'RemoteLimitSwitch' | |
directory: 'C++ General/RemoteLimitSwitch' | |
- project-name: 'RemoteSoftLimit' | |
directory: 'C++ General/RemoteSoftLimit' | |
- project-name: 'SetSensorPosition' | |
directory: 'C++ General/SetSensorPosition' | |
- project-name: 'Tachometer' | |
directory: 'C++ General/Tachometer' | |
- project-name: 'VelocityClosedLoop' | |
directory: 'C++ General/VelocityClosedLoop' | |
- project-name: 'DifferentialDrive' | |
directory: 'C++ Talon FX (Falcon 500)/DifferentialDrive' | |
- project-name: 'MotionMagic' | |
directory: 'C++ Talon FX (Falcon 500)/MotionMagic' | |
- project-name: 'MotionProfileArc_Simple' | |
directory: 'C++ Talon FX (Falcon 500)/MotionProfileArc_Simple' | |
- project-name: 'MotionProfile_Simple' | |
directory: 'C++ Talon FX (Falcon 500)/MotionProfile_Simple' | |
- project-name: 'Music-Orchestra' | |
directory: 'C++ Talon FX (Falcon 500)/Music-Orchestra' | |
- project-name: 'Music-Tone' | |
directory: 'C++ Talon FX (Falcon 500)/Music-Tone' | |
- project-name: 'ArcadeDrive_ArbFeedForward' | |
directory: 'Java General/ArcadeDrive_ArbFeedForward' | |
- project-name: 'BrakeCoast' | |
directory: 'Java General/BrakeCoast' | |
- project-name: 'CANCoder' | |
directory: 'Java General/CANCoder' | |
- project-name: 'CANdle' | |
directory: 'Java General/CANdle' | |
- project-name: 'CANdle MultiAnimation' | |
directory: 'Java General/CANdle MultiAnimation' | |
- project-name: 'CANifier Demo' | |
directory: 'Java General/CANifier Demo' | |
- project-name: 'CANifier Quadrature' | |
directory: 'Java General/CANifier Quadrature' | |
- project-name: 'Config All' | |
directory: 'Java General/Config All' | |
- project-name: 'Current Limit' | |
directory: 'Java General/Current Limit' | |
- project-name: 'CurrentClosedLoop' | |
directory: 'Java General/CurrentClosedLoop' | |
- project-name: 'DifferentialDrive' | |
directory: 'Java General/DifferentialDrive' | |
- project-name: 'DifferentialDrive_Simulation' | |
directory: 'Java General/DifferentialDrive_Simulation' | |
- project-name: 'DriveStraight_AuxPigeon' | |
directory: 'Java General/DriveStraight_AuxPigeon' | |
- project-name: 'DriveStraight_AuxQuadrature' | |
directory: 'Java General/DriveStraight_AuxQuadrature' | |
- project-name: 'DriveStraight_Pigeon' | |
directory: 'Java General/DriveStraight_Pigeon' | |
- project-name: 'GetParameter' | |
directory: 'Java General/GetParameter' | |
- project-name: 'MagEncoder_Absolute' | |
directory: 'Java General/MagEncoder_Absolute' | |
- project-name: 'MagEncoder_Relative' | |
directory: 'Java General/MagEncoder_Relative' | |
- project-name: 'MotionMagic' | |
directory: 'Java General/MotionMagic' | |
- project-name: 'MotionMagic_ArbFeedForward' | |
directory: 'Java General/MotionMagic_ArbFeedForward' | |
- project-name: 'MotionMagic_AuxStraightPigeon' | |
directory: 'Java General/MotionMagic_AuxStraightPigeon' | |
- project-name: 'MotionMagic_AuxStraightQuadrature' | |
directory: 'Java General/MotionMagic_AuxStraightQuadrature' | |
- project-name: 'MotionMagic_TalonFX_AuxStraightPigeon' | |
directory: 'Java General/MotionMagic_TalonFX_AuxStraightPigeon' | |
- project-name: 'MotionProfile' | |
directory: 'Java General/MotionProfile' | |
- project-name: 'MotionProfileArc_Simple' | |
directory: 'Java General/MotionProfileArc_Simple' | |
- project-name: 'MotionProfile_AuxMotionProfileArc' | |
directory: 'Java General/MotionProfile_AuxMotionProfileArc' | |
- project-name: 'MotionProfile_Simple' | |
directory: 'Java General/MotionProfile_Simple' | |
- project-name: 'MotorSafety' | |
directory: 'Java General/MotorSafety' | |
- project-name: 'Pigeon2' | |
directory: 'Java General/Pigeon2' | |
- project-name: 'PigeonIMU' | |
directory: 'Java General/PigeonIMU' | |
- project-name: 'PositionClosedLoop' | |
directory: 'Java General/PositionClosedLoop' | |
- project-name: 'PositionClosedLoop_AuxFeedForward' | |
directory: 'Java General/PositionClosedLoop_AuxFeedForward' | |
- project-name: 'PositionClosedLoop_AuxStraightPigeon' | |
directory: 'Java General/PositionClosedLoop_AuxStraightPigeon' | |
- project-name: 'PositionClosedLoop_AuxStraightQuadrature' | |
directory: 'Java General/PositionClosedLoop_AuxStraightQuadrature' | |
- project-name: 'RemoteLimitSwitch' | |
directory: 'Java General/RemoteLimitSwitch' | |
- project-name: 'RemoteSoftLimit' | |
directory: 'Java General/RemoteSoftLimit' | |
- project-name: 'SixTalonArcadeDrive' | |
directory: 'Java General/SixTalonArcadeDrive' | |
- project-name: 'Tachometer' | |
directory: 'Java General/Tachometer' | |
- project-name: 'VelocityClosedLoop' | |
directory: 'Java General/VelocityClosedLoop' | |
- project-name: 'VelocityClosedLoop_ArbFeedForward' | |
directory: 'Java General/VelocityClosedLoop_ArbFeedForward' | |
- project-name: 'VelocityClosedLoop_AuxStraightPigeon' | |
directory: 'Java General/VelocityClosedLoop_AuxStraightPigeon' | |
- project-name: 'VelocityClosedLoop_AuxStraightQuadrature' | |
directory: 'Java General/VelocityClosedLoop_AuxStraightQuadrature' | |
- project-name: 'ArcadeDrive_ArbFeedForward' | |
directory: 'Java Talon FX (Falcon 500)/ArcadeDrive_ArbFeedForward' | |
- project-name: 'Current Limit' | |
directory: 'Java Talon FX (Falcon 500)/Current Limit' | |
- project-name: 'DifferentialDrive' | |
directory: 'Java Talon FX (Falcon 500)/DifferentialDrive' | |
- project-name: 'DifferentialDrive_Simulation' | |
directory: 'Java Talon FX (Falcon 500)/DifferentialDrive_Simulation' | |
- project-name: 'DriveStraight_AuxIntegratedSensor' | |
directory: 'Java Talon FX (Falcon 500)/DriveStraight_AuxIntegratedSensor' | |
- project-name: 'DriveStraight_AuxPigeon' | |
directory: 'Java Talon FX (Falcon 500)/DriveStraight_AuxPigeon' | |
- project-name: 'DriveStraight_Pigeon' | |
directory: 'Java Talon FX (Falcon 500)/DriveStraight_Pigeon' | |
- project-name: 'IntegratedSensor' | |
directory: 'Java Talon FX (Falcon 500)/IntegratedSensor' | |
- project-name: 'MotionMagic' | |
directory: 'Java Talon FX (Falcon 500)/MotionMagic' | |
- project-name: 'MotionMagic_ArbFeedForward' | |
directory: 'Java Talon FX (Falcon 500)/MotionMagic_ArbFeedForward' | |
- project-name: 'MotionMagic_AuxStraightIntegratedSensor' | |
directory: 'Java Talon FX (Falcon 500)/MotionMagic_AuxStraightIntegratedSensor' | |
- project-name: 'MotionMagic_AuxStraightPigeon' | |
directory: 'Java Talon FX (Falcon 500)/MotionMagic_AuxStraightPigeon' | |
- project-name: 'MotionProfile' | |
directory: 'Java Talon FX (Falcon 500)/MotionProfile' | |
- project-name: 'MotionProfileArc_Simple' | |
directory: 'Java Talon FX (Falcon 500)/MotionProfileArc_Simple' | |
- project-name: 'MotionProfile_AuxMotionProfileArc' | |
directory: 'Java Talon FX (Falcon 500)/MotionProfile_AuxMotionProfileArc' | |
- project-name: 'MotionProfile_Simple' | |
directory: 'Java Talon FX (Falcon 500)/MotionProfile_Simple' | |
- project-name: 'Music - Orchestra' | |
directory: 'Java Talon FX (Falcon 500)/Music - Orchestra' | |
- project-name: 'Music - Single Tone' | |
directory: 'Java Talon FX (Falcon 500)/Music - Single Tone' | |
- project-name: 'PositionClosedLoop' | |
directory: 'Java Talon FX (Falcon 500)/PositionClosedLoop' | |
- project-name: 'PositionClosedLoop_AuxFeedForward' | |
directory: 'Java Talon FX (Falcon 500)/PositionClosedLoop_AuxFeedForward' | |
- project-name: 'PositionClosedLoop_AuxStraightIntegratedSensor' | |
directory: 'Java Talon FX (Falcon 500)/PositionClosedLoop_AuxStraightIntegratedSensor' | |
- project-name: 'PositionClosedLoop_AuxStraightPigeon' | |
directory: 'Java Talon FX (Falcon 500)/PositionClosedLoop_AuxStraightPigeon' | |
- project-name: 'RemoteLimitSwitch' | |
directory: 'Java Talon FX (Falcon 500)/RemoteLimitSwitch' | |
- project-name: 'RemoteSoftLimit' | |
directory: 'Java Talon FX (Falcon 500)/RemoteSoftLimit' | |
- project-name: 'SixTalonArcadeDrive' | |
directory: 'Java Talon FX (Falcon 500)/SixTalonArcadeDrive' | |
- project-name: 'VelocityClosedLoop' | |
directory: 'Java Talon FX (Falcon 500)/VelocityClosedLoop' | |
- project-name: 'VelocityClosedLoop_ArbFeedForward' | |
directory: 'Java Talon FX (Falcon 500)/VelocityClosedLoop_ArbFeedForward' | |
- project-name: 'VelocityClosedLoop_AuxStraightIntegratedSensor' | |
directory: 'Java Talon FX (Falcon 500)/VelocityClosedLoop_AuxStraightIntegratedSensor' | |
- project-name: 'VelocityClosedLoop_AuxStraightPigeon' | |
directory: 'Java Talon FX (Falcon 500)/VelocityClosedLoop_AuxStraightPigeon' | |
# The type of runner that the job will run on | |
runs-on: ubuntu-latest | |
# This grabs the WPILib docker container | |
container: wpilib/roborio-cross-ubuntu:2024-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
# Grant execute permission for gradlew | |
- name: Grant execute permission for gradlew | |
run: cd "${{ matrix.directory }}" && chmod +x gradlew | |
# Runs a single command using the runners shell | |
- name: Compile and run tests on robot code for project ${{ matrix.project-name }} | |
run: cd "${{ matrix.directory }}" && ./gradlew build |