How to copy files with ansible relatively to the role?

You wouldn't need to specify the path of the file to copy, as long as it is stored in files directory.

Here's how your role should look like:

my-awesome-role
├───files
│       my-awesome-file
└───tasks
        main.yml

And here's the way to call copy in the tasks/main.yml:

- copy:
    src: my-awesome-file
    dest: '{{ some_destination }}'

If you do not provide any path at all, just the filename, Ansible will pick it automatically from the files directory of the role.

- copy:
    src: foo.conf
    dest: /etc/foo.conf

Additionally, since Ansible 1.8, there is the variable role_path which you could use in your copy task.

- copy:
    src: "{{ role_path }}/files/foo.conf"
    dest: /etc/foo.conf