Skip to content

[Enhancement]: Migrate CI from GitLab CI (.gitlab-ci.yml) to GitHub Actions — GitLab pipeline has no effect on this GitHub repository #545

Description

@prince-pokharna

Summary

The ARVIO repository contains a .gitlab-ci.yml file at the root, but the project is hosted on GitHub. A GitLab CI configuration file in a GitHub repository has no effect — it is never executed, provides no PR validation, and gives contributors false confidence that CI is in place. The .github/ directory exists but its workflows are not publicly visible from the file tree, suggesting GitHub Actions coverage may be incomplete.

Problem

  • .gitlab-ci.yml is present but non-functional on GitHub — it is dead configuration.
  • Contributors submitting PRs receive no automated feedback on whether their Kotlin code compiles, passes Detekt, or breaks existing build variants.
  • The build process (./gradlew :app:assemblePlayDebug) is documented in the README but not automated on PRs.
  • With 22 open PRs and 77 open issues, the maintainer is doing manual validation for every contribution.

Proposed Solution

Add a GitHub Actions workflow at .github/workflows/ci.yml:

name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Set up JDK 17
        uses: actions/setup-java@v4
        with:
          java-version: '17'
          distribution: 'temurin'

      - name: Cache Gradle packages
        uses: actions/cache@v4
        with:
          path: ~/.gradle/caches
          key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }}

      - name: Create secrets.properties
        run: cp secrets.defaults.properties secrets.properties

      - name: Run Detekt
        run: ./gradlew detekt

      - name: Compile Play Debug
        run: ./gradlew :app:compilePlayDebugKotlin

      - name: Assemble Play Debug
        run: ./gradlew :app:assemblePlayDebug

Additional Notes

  • secrets.defaults.properties already exists for exactly this CI use case.
  • The .gitlab-ci.yml can remain for historical reference but should have a comment noting it is not active on GitHub.

I am happy to implement this. Could you assign this issue to me?

Labels: ci/cd, enhancement, infrastructure, GSSoC 2026

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions