name: Create lists

on:
  push:
    branches: [ "main" ]
    paths:
      - .github/workflows/create-lists.yml
      - Categories/**
      - Services/**
      - src/**
      - convert.py
  schedule:
    - cron: '29 8 * * 1'

permissions:
  contents: write

jobs:
  generate-lists:
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v4.2.2
    - name: Compile ruleset srs
      run: |
        docker run --rm \
        -v ${{ github.workspace }}/src:/app/src \
        -v ${{ github.workspace }}/Subnets:/app/Subnets \
        -v ${{ github.workspace }}/Russia:/app/Russia \
        -v ${{ github.workspace }}/Ukraine:/app/Ukraine \
        -v ${{ github.workspace }}/Categories:/app/Categories \
        -v ${{ github.workspace }}/Services:/app/Services \
        -v ${{ github.workspace }}/SRS:/app/SRS \
        -v ${{ github.workspace }}/DAT:/app/DAT \
        itdoginfo/compilesrs:0.1.13

    - name: Check Russia/inside-dnsmasq-ipset
      uses: itdoginfo/dnsmasq-action@0.1
      with:
        file: "./Russia/inside-dnsmasq-ipset.lst"
        version: 2.89
    - name: Check Russia/inside-dnsmasq-nfset
      uses: itdoginfo/dnsmasq-action@0.1
      with:
        file: "Russia/inside-dnsmasq-nfset.lst"
        version: 2.89
    - name: Check Russia/outside-dnsmasq-ipset
      uses: itdoginfo/dnsmasq-action@0.1
      with:
        file: "Russia/outside-dnsmasq-ipset.lst"
        version: 2.89
    - name: Check Russia/outside-dnsmasq-nfset
      uses: itdoginfo/dnsmasq-action@0.1
      with:
        file: "Russia/outside-dnsmasq-nfset.lst"
        version: 2.89
    - name: Check Ukraine/inside-dnsmasq-ipset
      uses: itdoginfo/dnsmasq-action@0.1
      with:
        file: "Ukraine/inside-dnsmasq-ipset.lst"
        version: 2.89
    - name: Check Ukraine/inside-dnsmasq-nfset
      uses: itdoginfo/dnsmasq-action@0.1
      with:
        file: "Ukraine/inside-dnsmasq-nfset.lst"
        version: 2.89

    - name: Push lists
      uses: EndBug/add-and-commit@v9
      with:
        add: 'Russia Ukraine'
        author_name: GitHub Action
        author_email: githubaction@githubaction.com
        message: 'Update lists'
        push: true

    - name: Set release tag
      run: echo "TAG_NAME=$(date +'%Y-%m-%d_%H-%M')" >> $GITHUB_ENV

    - name: Release
      uses: softprops/action-gh-release@v2.1.0
      with:
        files: |
          ${{ github.workspace }}/SRS/*.srs
          ${{ github.workspace }}/DAT/*.dat
        tag_name: ${{ env.TAG_NAME }}